chore(deps): bump github.com/quic-go/quic-go from 0.37.4 to 0.37.5 #358
Workflow file for this run
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] | |
jobs: | |
test: | |
runs-on: ubuntu-20.04 | |
defaults: | |
run: | |
shell: bash | |
timeout-minutes: 5 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: "1.20" | |
- name: Build for multi-platform | |
run: | | |
set -xeu | |
DIST=/tmp/dist | |
mkdir -p $DIST | |
# (from: https://www.digitalocean.com/community/tutorials/how-to-build-go-executables-for-multiple-platforms-on-ubuntu-16-04) | |
platforms=("linux/amd64" "darwin/amd64" "windows/amd64") | |
for platform in "${platforms[@]}" | |
do | |
platform_split=(${platform//\// }) | |
export GOOS=${platform_split[0]} | |
export GOARCH=${platform_split[1]} | |
[ $GOOS = "windows" ] && EXTENSION='.exe' || EXTENSION='' | |
BUILD_PATH=piping-server-check-$GOOS-$GOARCH | |
mkdir $BUILD_PATH | |
# Build | |
CGO_ENABLED=0 go build -o "${BUILD_PATH}/piping-server-check${EXTENSION}" main/main.go | |
done | |
# Without this, HTTP/3 client causes an error "failed to sufficiently increase receive buffer size (was: 208 kiB, wanted: 2048 kiB, got: 416 kiB)": https://github.com/quic-go/quic-go/wiki/UDP-Receive-Buffer-Size | |
- name: UDP receive buffer size seting | |
run: sudo sysctl -w net.core.rmem_max=2500000 | |
- name: Test | |
run: go test -v ./... | |
operational_test: | |
runs-on: ubuntu-20.04 | |
defaults: | |
run: | |
shell: bash | |
timeout-minutes: 5 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: "1.20" | |
- name: Build | |
run: CGO_ENABLED=0 go build -o piping-server-check main/main.go | |
# Without this, HTTP/3 client causes an error "failed to sufficiently increase receive buffer size (was: 208 kiB, wanted: 2048 kiB, got: 416 kiB)": https://github.com/quic-go/quic-go/wiki/UDP-Receive-Buffer-Size | |
- name: UDP receive buffer size seting | |
run: sudo sysctl -w net.core.rmem_max=2500000 | |
- name: Install piping-server to /tmp and create certificates | |
run: | | |
set -eu | |
cd /tmp | |
# pkg | |
curl -L https://github.com/nwtgck/piping-server-pkg/releases/download/v1.12.8/piping-server-pkg-linuxstatic-x64.tar.gz | tar xzvf - | |
mv ./piping-server-pkg-linuxstatic-x64/piping-server . | |
# Rust | |
curl -L https://github.com/nwtgck/piping-server-rust/releases/download/v0.16.0/piping-server-x86_64-unknown-linux-musl.tar.gz | tar xzf - | |
mkdir rust | |
mv ./piping-server-x86_64-unknown-linux-musl/piping-server ./rust/piping-server | |
(mkdir ssl_certs && cd ssl_certs && openssl req -x509 -newkey rsa:4096 -keyout server.key -out server.crt -days 365 -sha256 -nodes --subj '/CN=localhost/') | |
- name: Operational test (pkg) (normal case) | |
run: | | |
set -eu | |
./piping-server-check --http1.1 --http1.1-tls --h2 --tls-skip-verify --server-command='exec /tmp/piping-server --http-port=$HTTP_PORT --enable-https --https-port=$HTTPS_PORT --crt-path=/tmp/ssl_certs/server.crt --key-path=/tmp/ssl_certs/server.key' --n-simultaneous-requests 10 --transfer-speed-byte $((1024 * 1024 * 1024 * 1024)) --transfer-span 1s --transfer-span 2s --transfer-span 3s --concurrency 100 --result-jsonl-path=/tmp/result-pkg-normal-case.jsonl | |
cat /tmp/result-pkg-normal-case.jsonl | |
timeout-minutes: 2 | |
# Purpose: Find out how the latest piping-server-check affects piping-server-rust | |
- name: Operational test (Rust) (normal case) | |
run: | | |
set -eu | |
./piping-server-check --http1.1 --http1.1-tls --h2 --tls-skip-verify --compromise post_cancel_post --compromise get_cancel_get --compromise simultaneous_request --server-command='exec /tmp/rust/piping-server --http-port=$HTTP_PORT --enable-https --https-port=$HTTPS_PORT --crt-path=/tmp/ssl_certs/server.crt --key-path=/tmp/ssl_certs/server.key' --n-simultaneous-requests 30 --transfer-speed-byte $((1024 * 1024 * 1024 * 1024)) --transfer-span 1s --transfer-span 2s --transfer-span 3s --concurrency 100 --result-jsonl-path=/tmp/result-rust-normal-case.jsonl | |
cat /tmp/result-rust-normal-case.jsonl | |
timeout-minutes: 2 | |
# Purpose: Ensure existing with non-zero code | |
- name: Operational test (error case) | |
run: | | |
set -eu | |
# Should fail because no --tls-skip-verify | |
! ./piping-server-check --http1.1 --http1.1-tls --server-command='exec /tmp/piping-server --http-port=$HTTP_PORT --enable-https --https-port=$HTTPS_PORT --crt-path=/tmp/ssl_certs/server.crt --key-path=/tmp/ssl_certs/server.key' --n-simultaneous-requests 1 --concurrency 100 --result-jsonl-path=/tmp/result-pkg-error-case.jsonl | |
cat /tmp/result-pkg-error-case.jsonl | |
timeout-minutes: 2 |