name: Build # Controls when the action will run. on: # Triggers the workflow on push or pull request events but only for the main branch push: branches: [ main ] pull_request: branches: [ main ] schedule: - cron: '30 6 * * 1' # At 06:30 on Monday, every Monday. # Allows you to run this workflow manually from the Actions tab workflow_dispatch: jobs: java17: runs-on: ubuntu-latest steps: # http://man7.org/linux/man-pages/man1/date.1.html - name: Create Cache Key id: cache-key run: | echo "::set-output name=key::$(/bin/date -u "+%Y%U-2")" shell: bash # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v2 # Enable caching of Docker layers - uses: satackey/action-docker-layer-caching@v0.0.11 continue-on-error: true with: key: docker-cache-${{ steps.cache-key.outputs.key }}-{hash} restore-keys: | docker-cache-${{ steps.cache-key.outputs.key }}- # Run the make script - name: Make build run: make build - name: Publish Test Report uses: scacap/action-surefire-report@v1.0.9 if: ${{ always() }} with: github_token: ${{ secrets.GITHUB_TOKEN }} report_paths: '**/target/surefire-reports/TEST-*.xml' commit: ${{ github.event.workflow_run.head_commit.id }} check_name: java17 test reports - name: Upload build artefacts uses: actions/upload-artifact@v2 if: ${{ failure() }} with: name: artifacts path: target/ # Make room for the docker layer caching to package up layers - name: Cleanup run: rm -fr * java11: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Java 11 uses: actions/setup-java@v2 with: distribution: 'adopt' # See 'Supported distributions' for available options java-version: '11' - uses: actions/cache@v2 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} restore-keys: | ${{ runner.os }}-maven- - name: Maven build run: mvn verify -B -C -T1C -fae - name: Publish Test Report uses: scacap/action-surefire-report@v1.0.9 if: ${{ always() }} with: github_token: ${{ secrets.GITHUB_TOKEN }} report_paths: '**/target/surefire-reports/TEST-*.xml' commit: ${{ github.event.workflow_run.head_commit.id }} check_name: java11 test reports - name: Upload build artefacts uses: actions/upload-artifact@v2 if: ${{ failure() }} with: name: artifacts path: target/