|
4 | 4 | push: |
5 | 5 | branches: |
6 | 6 | - main |
7 | | - pull_request: |
| 7 | + - release/* |
8 | 8 | workflow_dispatch: |
9 | 9 |
|
10 | 10 | permissions: |
11 | 11 | contents: read |
12 | 12 |
|
13 | | -concurrency: |
14 | | - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} |
15 | | - cancel-in-progress: true |
16 | | - |
17 | 13 | jobs: |
18 | | - build: |
19 | | - name: Build |
20 | | - runs-on: ${{ matrix.os }} |
21 | | - strategy: |
22 | | - fail-fast: false |
23 | | - matrix: |
24 | | - os: |
25 | | - - macos-latest |
26 | | - - macos-13 |
27 | | - - ubuntu-latest |
28 | | - test-java-version: |
29 | | - - 8 |
30 | | - - 11 |
31 | | - - 17 |
32 | | - - 21 |
33 | | - - 25 # renovate: datasource=java-version |
34 | | - # macos-latest drops support for java 8 temurin. Run java 8 on macos-13. Run java 11+ on macos-latest. |
35 | | - exclude: |
36 | | - - os: macos-latest |
37 | | - test-java-version: 8 |
38 | | - - os: macos-13 |
39 | | - test-java-version: 11 |
40 | | - - os: macos-13 |
41 | | - test-java-version: 17 |
42 | | - - os: macos-13 |
43 | | - test-java-version: 21 |
44 | | - - os: macos-13 |
45 | | - test-java-version: 25 # renovate: datasource=java-version |
46 | | - |
47 | | - steps: |
48 | | - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 |
49 | | - |
50 | | - - id: setup-java-test |
51 | | - name: Set up Java ${{ matrix.test-java-version }} for tests |
52 | | - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 |
53 | | - with: |
54 | | - distribution: temurin |
55 | | - java-version: ${{ matrix.test-java-version }} |
56 | | - |
57 | | - - id: setup-java |
58 | | - name: Set up Java for build |
59 | | - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 |
60 | | - with: |
61 | | - distribution: temurin |
62 | | - java-version: 17 |
63 | | - |
64 | | - - uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0 |
65 | | - |
66 | | - - name: build |
67 | | - run: > |
68 | | - ./gradlew |
69 | | - build |
70 | | - -PtestJavaVersion=${{ matrix.test-java-version }} |
71 | | - -Porg.gradle.java.installations.paths=${{ steps.setup-java-test.outputs.path }},${{ steps.setup-java.outputs.path }} |
72 | | -
|
73 | | - - name: generate |
74 | | - # Skip running on macos-latest which doesn't have docker |
75 | | - if: matrix.os == 'ubuntu-latest' |
76 | | - run: ./gradlew generateSemanticConventions --console=plain |
77 | | - |
78 | | - # Run spotless after generate to format generated code |
79 | | - - name: spotless |
80 | | - run: ./gradlew spotlessApply |
81 | | - |
82 | | - - name: Check for diff |
83 | | - run: | |
84 | | - # need to "git add" in case any generated files did not already exist |
85 | | - # select files from both /semconv and /semconv-incubating |
86 | | - git add semconv** |
87 | | - if git diff --cached --quiet |
88 | | - then |
89 | | - echo "No diff detected." |
90 | | - else |
91 | | - echo "Diff detected - did you run './gradlew generateSemanticConventions spotlessApply'?" |
92 | | - echo $(git diff --cached --name-only) |
93 | | - echo $(git diff --cached) |
94 | | - exit 1 |
95 | | - fi |
96 | | -
|
97 | | - link-check: |
98 | | - # release branches are excluded to avoid unnecessary maintenance |
99 | | - if: ${{ !startsWith(github.ref_name, 'release/') }} |
100 | | - uses: ./.github/workflows/reusable-link-check.yml |
101 | | - |
102 | | - misspell-check: |
103 | | - # release branches are excluded to avoid unnecessary maintenance |
104 | | - if: ${{ !startsWith(github.ref_name, 'release/') }} |
105 | | - uses: ./.github/workflows/reusable-misspell-check.yml |
106 | | - |
107 | | - required-status-check: |
108 | | - # markdown-link-check is not required so pull requests are not blocked if external links break |
109 | | - # misspell-check is not required so pull requests are not blocked if the misspell dictionary is |
110 | | - # updated |
111 | | - needs: |
112 | | - - build |
113 | | - runs-on: ubuntu-latest |
114 | | - if: always() |
115 | | - steps: |
116 | | - - if: | |
117 | | - needs.build.result != 'success' |
118 | | - run: exit 1 |
| 14 | + common: |
| 15 | + uses: ./.github/workflows/build-common.yml |
0 commit comments