File: ci.yml

package info (click to toggle)
guice 5.1.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,692 kB
  • sloc: java: 72,879; xml: 1,431; sh: 58; jsp: 12; makefile: 5
file content (111 lines) | stat: -rw-r--r-- 3,427 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# This workflow will build a Java project with Maven
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
name: continuous-integration
env:
  USE_BAZEL_VERSION: '4.2.2'

on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master

jobs:
  test:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest]
        java: [8, 11, 15, 17]
      fail-fast: false
      max-parallel: 4
    name: Test JDK ${{ matrix.java }}, ${{ matrix.os }}

    steps:
      - name: Cancel previous runs
        uses: styfle/cancel-workflow-action@0.8.0
        with:
          access_token: ${{ github.token }}
      - uses: actions/checkout@v2
      - name: Set up JDK
        uses: actions/setup-java@v2
        with:
          java-version: ${{ matrix.java }}
          distribution: 'zulu'
      - name: 'Cache local Maven repository'
        uses: actions/cache@v2
        with:
          path: ~/.m2/repository
          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
          restore-keys: |
            ${{ runner.os }}-maven-
      - name: Verify with Maven
        run: mvn -B -P!standard-with-extra-repos verify --fail-at-end -Dsource.skip=true -Dmaven.javadoc.skip=true

  bazel-test:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest]
        java: [8, 11, 15, 17]
      fail-fast: false
      max-parallel: 4
    name: Bazel Test JDK ${{ matrix.java }}, ${{ matrix.os }}

    steps:
      - name: Cancel previous runs
        uses: styfle/cancel-workflow-action@0.8.0
        with:
          access_token: ${{ github.token }}
      - uses: actions/checkout@v2
      - name: Set up JDK
        uses: actions/setup-java@v2
        with:
          java-version: ${{ matrix.java }}
          distribution: 'zulu'
      - name: 'Cache bazel external dependencies'
        uses: actions/cache@v2
        with:
          path: ~/.cache/bazel/*/*/external
          key: ${{ runner.os }}-bazel-test-${{ hashFiles('**/WORKSPACE') }}
          restore-keys: |
            ${{ runner.os }}-bazel-test-
      - name: Bazel test
        run: bazel test //... --test_output=errors

  publish:
    runs-on: ubuntu-latest
    needs: [test, bazel-test]
    if: github.event_name == 'push' && github.repository == 'google/guice' && github.ref == 'refs/heads/master'
    name: Publish Javadoc and Snapshot

    steps:
      - uses: actions/checkout@v2
      - name: Setup JDK
        uses: actions/setup-java@v2
        with:
          java-version: 11
          distribution: 'zulu'
          server-id: google-snapshots
          server-username: MAVEN_USERNAME
          server-password: MAVEN_PASSWORD
      - name: 'Cache local Maven repository'
        uses: actions/cache@v2
        with:
          path: ~/.m2/repository
          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
          restore-keys: |
            ${{ runner.os }}-maven-
      - name: Publish Javadoc
        env:
          GH_TOKEN: ${{ secrets.GH_TOKEN }}
        run: |
          chmod +x util/publish-latest-docs.sh
          ./util/publish-latest-docs.sh
      - name: Publish Snapshot
        run: mvn clean deploy -DskipTests=true -Dmaven.javadoc.skip=true
        env:
          MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
          MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}