tests(proxy-wasm/go) internalize an HTTP I/O test case #2321
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: main | |
pull_request: | |
branches: '**' | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
unit: | |
name: 'Unit' | |
#if: ${{ false }} | |
strategy: | |
fail-fast: false | |
matrix: | |
label: [""] | |
os: [ubuntu-latest] | |
cc: [gcc-9] | |
ngx: [1.25.1] | |
openresty: [""] | |
runtime: [wasmer] | |
wasmtime: [""] | |
wasmer: [3.1.1] | |
v8: [""] | |
ssl: [ssl] | |
debug: [debug, no_debug] | |
hup: [no_hup] | |
module_type: ["static"] | |
include: | |
# Wasmtime | |
- runtime: wasmtime | |
wasmtime: 8.0.1 | |
os: ubuntu-latest | |
cc: gcc-9 | |
ngx: 1.25.1 | |
ssl: ssl | |
debug: debug | |
hup: hup | |
# V8 | |
- runtime: v8 | |
v8: 11.4.183.23 | |
os: ubuntu-latest | |
cc: gcc-9 | |
ngx: 1.25.1 | |
ssl: ssl | |
debug: debug | |
hup: no_hup | |
# Old Nginx | |
- label: old_nginx | |
os: ubuntu-latest | |
cc: gcc-9 | |
ngx: 1.21.6 | |
runtime: wasmer | |
wasmer: 3.1.1 | |
ssl: ssl | |
debug: debug | |
hup: no_hup | |
# Nginx + dynamic ngx_wasm_module + HUP | |
- label: dynamic_nginx | |
os: ubuntu-latest | |
cc: gcc-9 | |
ngx: 1.25.1 | |
runtime: wasmtime | |
wasmtime: 8.0.1 | |
ssl: ssl | |
debug: debug | |
hup: hup | |
module_type: dynamic | |
# No SSL | |
- os: ubuntu-latest | |
cc: gcc-9 | |
ngx: 1.25.1 | |
runtime: wasmer | |
wasmer: 3.1.1 | |
ssl: no_ssl | |
debug: no_debug | |
hup: no_hup | |
# OpenResty | |
- label: openresty | |
os: ubuntu-latest | |
cc: gcc-9 | |
openresty: 1.21.4.1 | |
runtime: wasmtime | |
wasmtime: 8.0.1 | |
ssl: ssl | |
debug: debug | |
hup: no_hup | |
# OpenResty + dynamic ngx_wasm_module | |
- label: dynamic_openresty | |
os: ubuntu-latest | |
cc: gcc-9 | |
openresty: 1.21.4.1 | |
runtime: wasmtime | |
wasmtime: 8.0.1 | |
ssl: ssl | |
debug: debug | |
hup: no_hup | |
module_type: dynamic | |
uses: ./.github/workflows/job-unit-tests.yml | |
with: | |
os: ${{ matrix.os }} | |
cc: ${{ matrix.cc }} | |
ngx: ${{ matrix.ngx }} | |
openresty: ${{ matrix.openresty }} | |
runtime: ${{ matrix.runtime }} | |
wasmtime: ${{ matrix.wasmtime }} | |
wasmer: ${{ matrix.wasmer }} | |
v8: ${{ matrix.v8 }} | |
ssl: ${{ matrix.ssl }} | |
debug: ${{ matrix.debug }} | |
hup: ${{ matrix.hup }} | |
module_type: ${{ matrix.module_type }} | |
coverage: true | |
secrets: inherit | |
coverage: | |
needs: unit | |
runs-on: ubuntu-latest | |
steps: | |
- name: Coveralls Finished | |
if: ${{ !env.ACT }} | |
uses: coverallsapp/github-action@v2 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
parallel-finished: true | |
carryforward: 'unit-ngx_1.25.1-wasmer-ssl-debug-no_hup-static,unit-ngx_1.25.1-wasmer-ssl-no_debug-no_hup-static,unit-ngx_1.25.1-wasmtime-ssl-debug-hup-static,unit-ngx_1.25.1-wasmtime-ssl-debug-hup-dynamic,unit-ngx_1.25.1-v8-ssl-debug-no_hup-static,unit-ngx_1.21.6-wasmer-ssl-debug-no_hup-static,unit-ngx_1.25.1-wasmer-no_ssl-no_debug-no_hup-static,unit-openresty_1.21.4.1-wasmtime-ssl-debug-no_hup-static,unit-openresty_1.21.4.1-wasmtime-ssl-debug-no_hup-dynamic' | |
valgrind: | |
name: 'Valgrind' | |
#if: ${{ false }} | |
strategy: | |
fail-fast: false | |
matrix: | |
label: [""] | |
os: [ubuntu-22.04] | |
cc: [gcc-10] | |
ngx: [1.25.1] | |
openresty: [""] | |
runtime: [wasmer] | |
wasmtime: [""] | |
wasmer: [3.1.1] | |
v8: [""] | |
hup: [no_hup, hup] | |
debug: [debug] | |
include: | |
# Wasmtime | |
- runtime: wasmtime | |
wasmtime: 8.0.1 | |
os: ubuntu-22.04 | |
cc: gcc-10 | |
ngx: 1.25.1 | |
hup: no_hup | |
debug: debug | |
# V8 | |
- runtime: v8 | |
v8: 11.4.183.23 | |
os: ubuntu-22.04 | |
cc: gcc-10 | |
ngx: 1.25.1 | |
debug: debug | |
hup: no_hup | |
# OpenResty | |
- label: openresty | |
os: ubuntu-22.04 | |
cc: gcc-10 | |
openresty: 1.21.4.1 | |
ngx: | |
runtime: wasmer | |
wasmer: 3.1.1 | |
debug: debug | |
hup: no_hup | |
uses: ./.github/workflows/job-valgrind-tests.yml | |
with: | |
os: ${{ matrix.os }} | |
cc: ${{ matrix.cc }} | |
ngx: ${{ matrix.ngx }} | |
openresty: ${{ matrix.openresty }} | |
runtime: ${{ matrix.runtime }} | |
wasmtime: ${{ matrix.wasmtime }} | |
wasmer: ${{ matrix.wasmer }} | |
v8: ${{ matrix.v8 }} | |
hup: ${{ matrix.hup }} | |
debug: ${{ matrix.debug }} | |
lint: | |
name: 'Lint' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
components: clippy | |
- uses: actions/cache@v3 | |
if: ${{ !env.ACT }} | |
with: | |
path: | | |
work/downloads | |
key: lint-${{ runner.os }}-${{ hashFiles('util/**/*.sh', 'util/**/*.pl', 'util/**/*.awk', '.github/**/*.yml', '.github/**/*.sh', '.github/**/*.js', 'rust-toolchain') }} | |
- run: make setup | |
- run: make lint | |
- uses: actions-rs/clippy-check@v1 | |
if: ${{ !env.ACT }} | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
args: --all-features | |
- run: | | |
if [[ $(make reindex 2>&1 | tee reindex.out | grep -c done) -gt 0 ]]; then | |
cat reindex.out >&2 | |
exit 1 | |
fi | |
analyzer: | |
name: 'Clang analyzer' | |
strategy: | |
fail-fast: false | |
matrix: | |
cc: [clang-11] | |
openresty: [1.21.4.1] | |
runtime: [wasmtime, wasmer, v8] | |
wasmtime: [8.0.1] | |
wasmer: [3.1.1] | |
v8: [11.4.183.23] | |
ssl: [ssl] | |
debug: [debug, no_debug] | |
include: | |
# No SSL | |
- os: ubuntu-latest | |
cc: clang-11 | |
ngx: 1.25.1 | |
runtime: wasmer | |
wasmer: 3.1.1 | |
ssl: no_ssl | |
debug: debug | |
uses: ./.github/workflows/job-clang-analyzer.yml | |
with: | |
cc: ${{ matrix.cc }} | |
ngx: ${{ matrix.ngx }} | |
openresty: ${{ matrix.openresty }} | |
runtime: ${{ matrix.runtime }} | |
wasmtime: ${{ matrix.wasmtime }} | |
wasmer: ${{ matrix.wasmer }} | |
v8: ${{ matrix.v8 }} | |
ssl: ${{ matrix.ssl }} | |
debug: ${{ matrix.debug }} | |
build: | |
name: 'Test builds' | |
#if: ${{ false }} | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 45 | |
strategy: | |
fail-fast: false | |
matrix: | |
label: [""] | |
os: [ubuntu-latest] | |
cc: [clang-14, gcc-10] | |
ngx: [1.25.1] | |
runtime: [wasmtime, wasmer, v8] | |
wasmtime: [8.0.1] | |
wasmer: [3.1.1] | |
v8: [11.4.183.23] | |
include: | |
- label: old_nginx | |
os: ubuntu-latest | |
cc: clang-14 | |
ngx: 1.21.6 | |
runtime: wasmtime | |
wasmtime: 8.0.1 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: 'Setup cache - work/ dir' | |
uses: actions/cache@v3 | |
if: ${{ !env.ACT }} | |
with: | |
path: | | |
work/downloads | |
work/runtimes | |
work/openssl | |
key: work-${{ runner.os }}-${{ matrix.cc }}-${{ matrix.ngx }}-${{ matrix.openresty }}-${{ matrix.runtime }}-${{ hashFiles('util/**/*.sh', 'util/**/*.pl', 'util/**/*.awk', '.github/**/*.yml', '.github/**/*.sh', '.github/**/*.js', 'rust-toolchain') }} | |
- name: Setup Wasm runtime | |
run: ./util/runtime.sh -R ${{ matrix.runtime }} -V ${{ matrix[matrix.runtime] }} | |
- run: make setup | |
- run: make test-build | |
env: | |
NGX_WASM_RUNTIME: ${{ matrix.runtime }} |