name: CI on: push: branches: - main pull_request: branches: - main jobs: test: name: "JDK ${{ matrix.java }}" strategy: matrix: java: [ 8, 11, 17 ] 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@b173b6ec0100793626c2d9e6b90435061f4fc3e5 with: access_token: ${{ github.token }} - name: 'Check out repository' uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac - name: 'Cache local Maven repository' uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 with: path: ~/.m2/repository key: maven-${{ hashFiles('**/pom.xml') }} restore-keys: | maven- - name: 'Set up JDK ${{ matrix.java }}' uses: actions/setup-java@cd89f46ac9d01407894225f350157564c9c7cee2 with: java-version: ${{ matrix.java }} distribution: 'zulu' - name: 'Install' shell: bash run: mvn -B dependency:go-offline test clean -U --quiet --fail-never -DskipTests=true -f build-pom.xml - name: 'Test' shell: bash run: mvn -B verify -U --fail-at-end -Dsource.skip=true -Dmaven.javadoc.skip=true -f build-pom.xml publish_snapshot: name: 'Publish snapshot' needs: test if: github.event_name == 'push' && github.repository == 'google/auto' runs-on: ubuntu-latest steps: - name: 'Check out repository' uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac - name: 'Cache local Maven repository' uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 with: path: ~/.m2/repository key: maven-${{ hashFiles('**/pom.xml') }} restore-keys: | maven- - name: 'Set up JDK 11' uses: actions/setup-java@cd89f46ac9d01407894225f350157564c9c7cee2 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/publish-snapshot-on-commit.sh generate_docs: name: 'Generate latest docs' needs: test if: github.event_name == 'push' && github.repository == 'google/auto' runs-on: ubuntu-latest steps: - name: 'Check out repository' uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac - name: 'Cache local Maven repository' uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 with: path: ~/.m2/repository key: maven-${{ hashFiles('**/pom.xml') }} restore-keys: | maven- - name: 'Set up JDK 11' uses: actions/setup-java@cd89f46ac9d01407894225f350157564c9c7cee2 with: java-version: 11 distribution: 'zulu' - name: 'Generate latest docs' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: ./util/generate-latest-docs.sh