Skip to content

add udp reuseport socket selector #188

add udp reuseport socket selector

add udp reuseport socket selector #188

Workflow file for this run

name: StaticLinking
permissions: { }
on:
pull_request:
paths-ignore:
- 'ansible/**'
- 'doc/**'
- 'sphinx/**'
- 'scripts/**'
branches:
- 'main'
- 'lts/**'
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
CARGO_TARGET_X86_64_PC_WINDOWS_MSVC_RUSTFLAGS: -C target-feature=+crt-static
VCPKG_ROOT: C:\vcpkg
VCPKGRS_TRIPLET: x64-windows-static
AWS_LC_SYS_PREBUILT_NASM: 1
jobs:
musl-gcc:
name: musl-gcc
runs-on: ubuntu-latest
strategy:
matrix:
feature:
- vendored-openssl,rustls-ring
- vendored-tongsuo,rustls-ring
steps:
- name: Checkout sources
uses: actions/checkout@v7
with:
submodules: true
- name: Install stable toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
target: x86_64-unknown-linux-musl
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install capnproto musl-tools
- name: Cargo build
run: cargo build --target=x86_64-unknown-linux-musl --no-default-features --features secure-vendored-mimalloc,${{ matrix.feature }},quic,vendored-c-ares
musl-clang:
name: musl-clang
runs-on: ubuntu-latest
container:
image: ghcr.io/rust-lang/rust:nightly-alpine
env:
CARGO_TERM_COLOR: always
RUSTFLAGS: -Ctarget-feature=+crt-static -Clinker=clang -Clink-arg=-fuse-ld=lld
UNSTABLE_OPTIONS: -Ztarget-applies-to-host -Zhost-config
CC: clang
CXX: clang++
CXXFLAGS: -stdlib=libc++
strategy:
matrix:
feature:
- vendored-openssl,rustls-ring
- vendored-tongsuo,rustls-ring
# aws-lc won't link with a c++ runtime library
- vendored-aws-lc,rustls-aws-lc
- vendored-aws-lc-fips,rustls-aws-lc-fips
steps:
- name: Install base tools
run: |
apk add --no-cache git curl
- name: Checkout sources
uses: actions/checkout@v7
with:
submodules: true
- name: Install dependencies
run: |
apk add --no-cache musl-dev linux-headers libc++-dev llvm-libunwind-static
apk add --no-cache autoconf automake argp-standalone musl-fts-dev musl-obstack-dev musl-libintl gettext-tiny flex bison gawk
apk add --no-cache clang lld capnproto-dev clang-libclang cmake make perl nasm
- name: Install Go for AWS-LC-FIPS
if: contains(matrix.feature, 'vendored-aws-lc-fips')
run: apk add --no-cache go
- name: Cargo build
run: cargo $UNSTABLE_OPTIONS build --no-default-features --features secure-vendored-mimalloc,vendored-ebpf,${{ matrix.feature }},quic,vendored-c-ares
musl-clang-libcxx:
name: musl-clang-libc++
runs-on: ubuntu-latest
container:
image: ghcr.io/rust-lang/rust:nightly-alpine
env:
CARGO_TERM_COLOR: always
# The c++abi lib is needed when build boringssl as -Zhost-config hide crt-static unexpectedly
RUSTFLAGS: -Ctarget-feature=+crt-static -Clinker=clang -Clink-arg=-fuse-ld=lld -Clink-arg=-lc++abi
UNSTABLE_OPTIONS: -Ztarget-applies-to-host -Zhost-config
CC: clang
CXX: clang++
CXXSTDLIB: c++
CXXFLAGS: -stdlib=libc++
strategy:
matrix:
feature:
- vendored-boringssl,rustls-ring
steps:
- name: Install base tools
run: |
apk add --no-cache git curl
- name: Checkout sources
uses: actions/checkout@v7
with:
submodules: true
- name: Install dependencies
run: |
apk add --no-cache musl-dev linux-headers libc++-dev libc++-static llvm-libunwind-static
apk add --no-cache autoconf automake argp-standalone musl-fts-dev musl-obstack-dev musl-libintl gettext-tiny flex bison gawk
apk add --no-cache clang lld capnproto-dev clang-libclang cmake make
- name: Cargo build
run: cargo $UNSTABLE_OPTIONS build --no-default-features --features secure-vendored-mimalloc,vendored-ebpf,${{ matrix.feature }},quic,vendored-c-ares
msvc-vcpkg:
name: msvc-vcpkg
runs-on: windows-latest
steps:
- name: Install common tools
run: choco install capnproto
- name: Install lib dependencies (vcpkg)
run: vcpkg install --triplet=x64-windows-static openssl c-ares mimalloc
- name: Checkout sources
uses: actions/checkout@v7
with:
submodules: true
- name: Install rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
- name: Cargo build
run: cargo build --no-default-features --features mimalloc,rustls-ring,quic,c-ares
msvc-vendored:
name: msvc-vendored
runs-on: windows-latest
strategy:
matrix:
feature:
- vendored-openssl,rustls-ring
- vendored-tongsuo,rustls-ring
- vendored-boringssl,rustls-ring
- vendored-aws-lc,rustls-aws-lc
steps:
- name: Install common tools
run: choco install capnproto
- name: Install nasm and ninja for BoringSSL
if: contains(matrix.feature, 'vendored-boringssl')
run: choco install nasm ninja
- name: Checkout sources
uses: actions/checkout@v7
with:
submodules: true
- name: Install rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
- name: Cargo build
run: cargo build --no-default-features --features secure-vendored-mimalloc,${{ matrix.feature }},quic,vendored-c-ares
msys2-vendored:
name: msys2-vendored
runs-on: windows-latest
strategy:
matrix:
feature:
- vendored-openssl,rustls-ring
- vendored-tongsuo,rustls-ring
defaults:
run:
shell: msys2 {0}
steps:
- uses: msys2/setup-msys2@v2
with:
msystem: UCRT64
update: true
install: git
- name: Checkout sources
uses: actions/checkout@v7
with:
submodules: true
- name: Install build tools
run: |
pacman -S --noconfirm --needed make mingw-w64-ucrt-x86_64-cmake mingw-w64-ucrt-x86_64-rust mingw-w64-ucrt-x86_64-capnproto
- name: Cargo build
run: cargo build --no-default-features --features secure-vendored-mimalloc,${{ matrix.feature }},quic,vendored-c-ares