add udp reuseport socket selector #188
Workflow file for this run
This file contains hidden or 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: 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 |