diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml new file mode 100644 index 0000000..6f2cb73 --- /dev/null +++ b/.github/workflows/build-and-release.yml @@ -0,0 +1,47 @@ +name: Build and Release JAR + +on: + push: + branches: + - '**' + paths-ignore: + - 'README.md' + +jobs: + build-and-release: + runs-on: ubuntu-latest + + permissions: + contents: write # Required for creating releases + + steps: + - name: Checkout source code + uses: actions/checkout@v4 + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + + - name: Build with Maven + run: mvn package -DskipTests + + - name: Get version from pom.xml + id: get_version + run: | + version=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout) + echo "version=$version" >> $GITHUB_OUTPUT + + - name: Create GitHub Release + id: create_release + uses: softprops/action-gh-release@v2 + with: + tag_name: v${{ steps.get_version.outputs.version }} + name: Release v${{ steps.get_version.outputs.version }} + generate_release_notes: true + + - name: Upload JAR to release + uses: softprops/action-gh-release@v2 + with: + files: target/*.jar