|
1 |
| -name: PR |
| 1 | +name: Build pull request |
2 | 2 |
|
3 |
| -on: pull_request |
| 3 | +on: |
| 4 | + pull_request: |
4 | 5 |
|
5 | 6 | concurrency:
|
6 | 7 | group: ci-${{ github.event.pull_request.number }}
|
7 | 8 | cancel-in-progress: true
|
8 | 9 |
|
9 | 10 | jobs:
|
10 |
| - build: |
11 |
| - uses: ./.github/workflows/reusable-build.yml |
| 11 | + assemble: |
| 12 | + uses: ./.github/workflows/reusable-assemble.yml |
12 | 13 | with:
|
13 | 14 | cache-read-only: true
|
14 | 15 |
|
|
17 | 18 | with:
|
18 | 19 | cache-read-only: true
|
19 | 20 |
|
20 |
| - testLatestDeps: |
21 |
| - # testLatestDeps is not included in the PR workflow by default |
| 21 | + test-latest-deps: |
| 22 | + # test-latest-deps is not included in the PR workflow by default |
22 | 23 | # because any time a new library version is released to maven central
|
23 | 24 | # it can fail due to test code incompatibility with the new library version,
|
24 | 25 | # or due to slight changes in emitted telemetry, which can be confusing for contributors
|
@@ -52,35 +53,63 @@ jobs:
|
52 | 53 | with:
|
53 | 54 | cache-read-only: true
|
54 | 55 |
|
| 56 | + gradle-plugins: |
| 57 | + uses: ./.github/workflows/reusable-gradle-plugins.yml |
| 58 | + with: |
| 59 | + no-build-cache: true |
| 60 | + |
55 | 61 | examples:
|
56 | 62 | uses: ./.github/workflows/reusable-examples.yml
|
57 | 63 | with:
|
58 | 64 | cache-read-only: true
|
59 | 65 |
|
60 |
| - # markdown-link-check is not included in the PR build because links to external urls can break at |
61 |
| - # any time, which can be confusing for contributors |
| 66 | + # this is not a required check to avoid blocking pull requests if external links break |
| 67 | + markdown-link-check: |
| 68 | + uses: ./.github/workflows/reusable-markdown-link-check.yml |
| 69 | + |
| 70 | + # this is not a required check to avoid blocking pull requests if new misspellings are added |
| 71 | + # to the misspell dictionary |
| 72 | + misspell-check: |
| 73 | + uses: ./.github/workflows/reusable-misspell-check.yml |
62 | 74 |
|
63 |
| - markdown-misspell-check: |
| 75 | + required-status-check: |
| 76 | + needs: |
| 77 | + - assemble |
| 78 | + - test |
| 79 | + - smoke-test |
| 80 | + - muzzle |
| 81 | + - gradle-plugins |
| 82 | + - examples |
64 | 83 | runs-on: ubuntu-latest
|
| 84 | + if: always() |
65 | 85 | steps:
|
66 |
| - - uses: actions/checkout@v3 |
67 |
| - |
68 |
| - - name: Check markdown for common misspellings |
69 |
| - run: | |
70 |
| - curl -L -o ./install-misspell.sh https://git.io/misspell |
71 |
| - sh ./install-misspell.sh |
72 |
| - ./bin/misspell -error ./**/* |
| 86 | + - if: | |
| 87 | + needs.assemble.result != 'success' || |
| 88 | + needs.test.result != 'success' || |
| 89 | + needs.smoke-test.result != 'success' || |
| 90 | + needs.muzzle.result != 'success' || |
| 91 | + needs.gradle-plugins.result != 'success' || |
| 92 | + needs.examples.result != 'success' |
| 93 | + run: exit 1 |
73 | 94 |
|
| 95 | + # TODO (trask) this is just to avoid disruption for existing PRs |
| 96 | + # remove this and change required check to above once existing PRs are merged |
74 | 97 | accept-pr:
|
75 |
| - needs: [ build, test, smoke-test, muzzle, examples, markdown-misspell-check ] |
| 98 | + needs: |
| 99 | + - assemble |
| 100 | + - test |
| 101 | + - smoke-test |
| 102 | + - muzzle |
| 103 | + - gradle-plugins |
| 104 | + - examples |
76 | 105 | runs-on: ubuntu-latest
|
77 | 106 | if: always()
|
78 | 107 | steps:
|
79 | 108 | - if: |
|
80 |
| - needs.build.result != 'success' || |
| 109 | + needs.assemble.result != 'success' || |
81 | 110 | needs.test.result != 'success' ||
|
82 | 111 | needs.smoke-test.result != 'success' ||
|
83 | 112 | needs.muzzle.result != 'success' ||
|
84 |
| - needs.examples.result != 'success' || |
85 |
| - needs.markdown-misspell-check.result != 'success' |
| 113 | + needs.gradle-plugins.result != 'success' || |
| 114 | + needs.examples.result != 'success' |
86 | 115 | run: exit 1
|
0 commit comments