on: push: branches: - release pull_request: branches: - main workflow_dispatch: jobs: publish: runs-on: ubuntu-latest steps: - name: Checkout Repository uses: actions/checkout@v3 - name: Set up JDK 17 uses: actions/setup-java@v3 with: java-version: '17' distribution: 'temurin' cache: maven - name: Build with Maven run: mvn -B package --file pom.xml - name: Upload artifact uses: actions/upload-artifact@v3 with: name: packaged-jar path: target/*.jar - name: Set release tag id: set_release_tag run: echo "::set-output name=RELEASE_TAG::$(date +'%Y%m%d%H%M%S')" - name: Create extracted-jar directory run: mkdir extracted-jar - name: Download artifact uses: actions/download-artifact@v3 with: name: packaged-jar path: extracted-jar - name: Get commit message and description id: get_commit_info run: | COMMIT_MSG=$(git log --format=%B -n 1 ${{ github.sha }}) COMMIT_DESC=$(git show -s --format=%b ${{ github.sha }}) echo "::set-output name=COMMIT_MSG::$COMMIT_MSG" echo "::set-output name=COMMIT_DESC::$COMMIT_DESC" - name: Create Release id: create_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ steps.set_release_tag.outputs.RELEASE_TAG }} release_name: ExtremeDemonList v${{ steps.set_release_tag.outputs.RELEASE_TAG }} body: ${{ steps.get_commit_info.outputs.COMMIT_DESC }} draft: false prerelease: false - name: Upload Artifact as Release Asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: extracted-jar/ExtremeDemonList-0.0.1-SNAPSHOT-jar-with-dependencies.jar asset_name: ExtremeDemonList-0.0.1-SNAPSHOT-jar-with-dependencies.jar asset_content_type: application/java-archive