name: Java Maven Build & Publish Artifact on: push: branches: [ "main" ] pull_request: branches: [ "main" ] jobs: build_test: runs-on: ubuntu-latest steps: - 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 publish-job: runs-on: ubuntu-latest needs: build_test steps: - uses: actions/checkout@v3 - uses: actions/download-artifact@v3 with: name: packaged-jar path: staging# create_release: needs: build_test runs-on: ubuntu-latest permissions: contents: write # This line gives the token permission to create releases steps: - uses: actions/checkout@v3 - name: Generate tag id: tag run: echo "::set-output name=tag::$(date +'%Y%m%d%H%M%S')" - name: Create Release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ steps.tag.outputs.tag }} release_name: Release ${{ steps.tag.outputs.tag }} draft: false prerelease: false