name: CI on: push: branches: - master pull_request: branches: - master jobs: test: name: "${{ matrix.root-pom }} on JDK ${{ matrix.java }}" strategy: matrix: java: [ 8, 11 ] root-pom: [ 'pom.xml', 'android/pom.xml' ] runs-on: ubuntu-latest env: ROOT_POM: ${{ matrix.root-pom }} steps: # Cancel any previous runs for the same branch that are still running. - name: 'Cancel previous runs' uses: styfle/cancel-workflow-action@0.9.1 with: access_token: ${{ github.token }} - name: 'Check out repository' uses: actions/checkout@v2.3.4 - name: 'Cache local Maven repository' uses: actions/cache@v2.1.6 with: path: ~/.m2/repository key: maven-${{ hashFiles('**/pom.xml') }} restore-keys: | maven- - name: 'Set up JDK ${{ matrix.java }}' uses: actions/setup-java@v2 with: java-version: ${{ matrix.java }} distribution: 'zulu' - name: 'Install' shell: bash run: mvn -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn install -U -DskipTests=true -f $ROOT_POM - name: 'Test' shell: bash run: mvn -B -P!standard-with-extra-repos verify -U -Dmaven.javadoc.skip=true -f $ROOT_POM - name: 'Print Surefire reports' # Note: Normally a step won't run if the job has failed, but this causes it to if: ${{ failure() }} shell: bash run: ./util/print_surefire_reports.sh publish_snapshot: name: 'Publish snapshot' needs: test if: github.event_name == 'push' && github.repository == 'google/guava' runs-on: ubuntu-latest steps: - name: 'Check out repository' uses: actions/checkout@v2.3.4 - name: 'Cache local Maven repository' uses: actions/cache@v2.1.6 with: path: ~/.m2/repository key: maven-${{ hashFiles('**/pom.xml') }} restore-keys: | maven- - name: 'Set up JDK 11' uses: actions/setup-java@v2 with: java-version: 11 distribution: 'zulu' server-id: sonatype-nexus-snapshots server-username: CI_DEPLOY_USERNAME server-password: CI_DEPLOY_PASSWORD - name: 'Publish' env: CI_DEPLOY_USERNAME: ${{ secrets.CI_DEPLOY_USERNAME }} CI_DEPLOY_PASSWORD: ${{ secrets.CI_DEPLOY_PASSWORD }} run: ./util/deploy_snapshot.sh generate_docs: name: 'Generate latest docs' needs: test if: github.event_name == 'push' && github.repository == 'google/guava' runs-on: ubuntu-latest steps: - name: 'Check out repository' uses: actions/checkout@v2.3.4 - name: 'Cache local Maven repository' uses: actions/cache@v2.1.6 with: path: ~/.m2/repository key: maven-${{ hashFiles('**/pom.xml') }} restore-keys: | maven- - name: 'Set up JDK 11' uses: actions/setup-java@v2 with: java-version: 11 distribution: 'zulu' - name: 'Generate latest docs' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: ./util/update_snapshot_docs.sh