name: CI on: push: branches: - master pull_request: branches: - master jobs: test: name: "JDK ${{ matrix.java }}" strategy: matrix: java: [ 8, 11 ] runs-on: ubuntu-latest steps: # Cancel any previous runs for the same branch that are still running. - name: 'Cancel previous runs' uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa with: access_token: ${{ github.token }} - name: 'Check out repository' uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 - name: 'Cache local Maven repository' uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 with: path: ~/.m2/repository key: maven-${{ hashFiles('**/pom.xml') }} restore-keys: | maven- - name: 'Set up JDK ${{ matrix.java }}' uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 with: java-version: ${{ matrix.java }} distribution: 'zulu' - name: 'Install' shell: bash run: mvn -B -P!standard-with-extra-repos install -U -DskipTests=true - name: 'Test' shell: bash run: mvn -B -P!standard-with-extra-repos verify -U -Dmaven.javadoc.skip=true - name: 'Javadoc Test Run' shell: bash run: mvn -B -P!standard-with-extra-repos javadoc:aggregate -U publish_snapshot: name: 'Publish snapshot' needs: test if: github.event_name == 'push' && github.repository == 'google/truth' runs-on: ubuntu-latest steps: - name: 'Check out repository' uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 - name: 'Cache local Maven repository' uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 with: path: ~/.m2/repository key: maven-${{ hashFiles('**/pom.xml') }} restore-keys: | maven- - name: 'Set up JDK 11' uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 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: mvn -B clean source:jar javadoc:jar deploy -DskipTests=true generate_docs: name: 'Generate latest docs' needs: test if: github.event_name == 'push' && github.repository == 'google/truth' runs-on: ubuntu-latest steps: - name: 'Check out repository' uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 - name: 'Cache local Maven repository' uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 with: path: ~/.m2/repository key: maven-${{ hashFiles('**/pom.xml') }} restore-keys: | maven- - name: 'Set up JDK 11' uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 with: java-version: 11 distribution: 'zulu' - name: 'Generate latest docs' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: ./util/generate-latest-docs.sh