diff options
Diffstat (limited to '.github/workflows/ci.yml')
-rw-r--r-- | .github/workflows/ci.yml | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..ec922435 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,97 @@ +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@0.9.0 + 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 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@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/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@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/generate-latest-docs.sh |