name: Build & Test on: push: branches: [ master ] pull_request: branches: [ master ] jobs: build: runs-on: ubuntu-latest timeout-minutes: 30 steps: - uses: actions/checkout@v2 - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - name: Cache Maven dependencies uses: actions/cache@v2 with: path: ~/.m2 key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} restore-keys: ${{ runner.os }}-m2 - name: Configure OS settings run: echo "fs.file-max = 1024000" | sudo tee -a /etc/sysctl.conf # NB: we exclude external API tests from the CI, because we don't want our build to fail because a dependency is failing. # This means we won't automatically catch changes in external APIs, but developers should regularly run the test suite locally so in practice it shouldn't be a problem. - name: Build with Maven run: mvn test-compile && mvn scoverage:report -DtagsToExclude=external-api - name: Upload coverage to Codecov uses: codecov/codecov-action@v1