-
Notifications
You must be signed in to change notification settings - Fork 630
92 lines (90 loc) · 3.53 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
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
name: Check Matrix
on:
pull_request: {}
permissions: read-all
jobs:
# Temporary disable and execute it in the main builds as the build depends on Netty 5 SNAPSHOT
# preliminary:
# name: preliminary sanity checks
# runs-on: ubuntu-20.04
# steps:
# - uses: actions/checkout@v3
# with:
# fetch-depth: 0 #needed by spotless
# - uses: actions/setup-java@v3
# with:
# distribution: 'temurin'
# java-version: 17
# - 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 logs of the api compatibility step above"
# echo ""
# exit -1
build:
# needs: preliminary
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, macos-10.15, windows-2019]
transport: [native, nio]
exclude:
# excludes native on Windows (there's none)
- os: windows-2019
transport: native
# macOS - https://github.com/netty/netty/issues/9689
- os: macos-10.15
transport: native
# TODO temporary disable
- os: ubuntu-20.04
transport: native
steps:
- uses: actions/checkout@v3
with:
path: reactor-netty
fetch-depth: 0 #needed by spotless
- uses: actions/checkout@v3
with:
repository: netty-contrib/codec-haproxy
path: codec-haproxy
- uses: actions/checkout@v3
with:
repository: netty-contrib/codec-extras
path: codec-extras
- uses: actions/checkout@v3
with:
# TODO temporary https://github.com/netty-contrib/socks-proxy/pull/10
repository: violetagg/socks-proxy
path: socks-proxy
ref: pending-write-queue
- uses: gradle/wrapper-validation-action@v1
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 17
- name: Build codec-haproxy
run: ./mvnw install -DskipTests=true
working-directory: ./codec-haproxy
- name: Build codec-extras
run: ./mvnw install -DskipTests=true
working-directory: ./codec-extras
- name: Build socks-proxy
run: ./mvnw install -DskipTests=true
working-directory: ./socks-proxy
- name: Build with Gradle
run: ./gradlew clean check --no-daemon -PforceTransport=${{ matrix.transport }} -PspotlessFrom=origin/netty5
working-directory: ./reactor-netty