# ---------------------------------------------------------------------------- # Copyright 2021 The Netty Project # # The Netty Project licenses this file to you under the Apache License, # version 2.0 (the "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at: # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- name: Build on: push: branches: [ main ] pull_request: branches: [ main ] schedule: - cron: '30 6 * * 1' # At 06:30 on Monday, every Monday. workflow_dispatch: # This allows us to run the workflow manually from the Actions tab 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: Upload Java 17 Test Results if: always() uses: actions/upload-artifact@v2 with: name: test-results-java17 path: '**/target/surefire-reports/TEST-*.xml' - 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: Upload Java 11 Test Results if: always() uses: actions/upload-artifact@v2 with: name: test-results-java11 path: '**/target/surefire-reports/TEST-*.xml' - name: Upload build artefacts uses: actions/upload-artifact@v2 if: ${{ failure() }} with: name: artifacts path: target/