-
Notifications
You must be signed in to change notification settings - Fork 645
61 lines (59 loc) · 2.66 KB
/
check_transport.yml
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
name: Check Matrix
on:
pull_request: {}
permissions: read-all
jobs:
preliminary:
name: preliminary sanity checks
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
with:
fetch-depth: 0 #needed by spotless
- uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9
with:
distribution: 'temurin'
java-version: 8
- name: spotless (license header)
if: always()
run: ./gradlew clean spotlessCheck -PspotlessFrom=origin/${{ github.base_ref }}
- name: api compatibility
if: always()
run: ./gradlew clean japicmp
- name: how to fix
if: failure()
# the foreground (38;5) color code 208 is orange. we also have bold, white bg (38;5;0;48;5;255m), white fg on black bg...
run: |
echo -e "\n\033[38;5;0;48;5;208m \u001b[1m How to deal with errors in preliminary job: \u001b[0m\033[0m"
echo "(Have a look at the steps above to see what failed exactly)"
echo -e "\n - \u001b[1mSpotless (license headers)\u001b[0m failures on touched java files \033[38;5;255;48;5;0m\u001b[1mcan be automatically fixed by running\u001b[0m:"
echo -e " \033[38;5;0;48;5;255m ./gradlew spotlessApply \033[0m"
echo -e "\n - \u001b[1mAPI Compatibility\u001b[0m failures should be considered carefully and \033[38;5;255;48;5;0m\u001b[1mdiscussed with maintainers in the PR\u001b[0m"
echo " If there are failures, the detail should be available in the step's log:"
echo -e " Look for the \033[38;5;0;48;5;255m API compatibility failures \033[0m block(s)."
echo " Alternatively, locally run the following command to get access to the full report:"
echo -e " \033[38;5;0;48;5;255m ./gradlew japicmp \033[0m"
echo ""
exit -1
build:
needs: preliminary
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, macos-12, windows-2019]
transport: [native, nio]
exclude:
# excludes native on Windows (there's none)
- os: windows-2019
transport: native
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
- uses: gradle/actions/wrapper-validation@dbbdc275be76ac10734476cc723d82dfe7ec6eda
- name: Set up JDK 1.8
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9
with:
distribution: 'temurin'
java-version: '8'
- name: Build with Gradle
run: ./gradlew clean check --no-daemon -x spotlessCheck -PforceTransport=${{ matrix.transport }}