diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml new file mode 100644 index 0000000..179a6f5 --- /dev/null +++ b/.forgejo/workflows/build.yaml @@ -0,0 +1,47 @@ +name: Build&Release + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + build_and_release: + runs-on: ubuntu-24.04 + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Set up JDK 21 + uses: actions/setup-java@v2 + with: + java-version: '21' + + - name: Cache Maven dependencies + uses: actions/cache@v2 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + + - name: Build with Maven + run: mvn clean install -DskipTests + + - name: Run tests + run: mvn test + + - name: Prepare release + run: mvn release:prepare -DreleaseVersion=1.0.0 -DdevelopmentVersion=1.1.0-SNAPSHOT -DpushChanges=false + + - name: Perform release + run: mvn release:perform + + - name: Publish release (optional) + run: | + git tag v1.0.0 + git push origin v1.0.0