vey-keyless: support multiple server types #467
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: CodeCoverage | |
| permissions: { } | |
| on: | |
| push: | |
| paths-ignore: | |
| - 'ansible/**' | |
| - 'doc/**' | |
| - 'sphinx/**' | |
| - 'Cargo.lock' | |
| - 'Cargo.toml' | |
| branches: | |
| - 'main' | |
| pull_request: | |
| paths-ignore: | |
| - 'ansible/**' | |
| - 'doc/**' | |
| - 'sphinx/**' | |
| - 'Cargo.lock' | |
| - 'Cargo.toml' | |
| branches: | |
| - 'main' | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| lib-unit-test: | |
| name: lib unit test | |
| runs-on: ubuntu-26.04 | |
| steps: | |
| - 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 | |
| components: llvm-tools | |
| - name: Install build dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install capnproto libjemalloc-dev libmimalloc-dev libc-ares-dev libssl-dev libpython3-dev liblua5.4-dev | |
| sudo apt-get install libbpf-dev | |
| - name: Install binutils | |
| run: | | |
| cargo install cargo-binutils@0.3.6 | |
| - name: Cargo clean | |
| run: cargo clean | |
| - name: run unit test | |
| run: | | |
| ./scripts/coverage/lib_unit_test.sh | |
| - name: Upload coverage data | |
| uses: codecov/codecov-action@v7 | |
| with: | |
| fail_ci_if_error: true | |
| disable_search: true | |
| files: output.lcov | |
| flags: lib | |
| name: lib-unit-test | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| verbose: false | |
| lib-reuseport: | |
| name: reuseport test | |
| runs-on: ubuntu-26.04 | |
| steps: | |
| - 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 | |
| components: llvm-tools | |
| - name: Install build dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install libbpf-dev | |
| - name: Install binutils | |
| run: | | |
| cargo install cargo-binutils@0.3.6 | |
| - name: Cargo clean | |
| run: cargo clean | |
| - name: run unit test | |
| run: | | |
| ./scripts/coverage/lib_reuseport.sh | |
| - name: Upload coverage data | |
| uses: codecov/codecov-action@v7 | |
| with: | |
| fail_ci_if_error: true | |
| disable_search: true | |
| files: output.lcov | |
| flags: reuseport | |
| name: lib-reuseport | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| verbose: false | |
| vey-mkcert-test: | |
| name: vey-mkcert test | |
| runs-on: ubuntu-26.04 | |
| steps: | |
| - 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 | |
| components: llvm-tools | |
| - name: Install build dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install libssl-dev | |
| - name: Install binutils | |
| run: | | |
| cargo install cargo-binutils@0.3.6 | |
| - name: Cargo clean | |
| run: cargo clean | |
| - name: run unit test | |
| run: | | |
| ./scripts/coverage/vey-mkcert.sh | |
| - name: Upload coverage data | |
| uses: codecov/codecov-action@v7 | |
| with: | |
| fail_ci_if_error: true | |
| disable_search: true | |
| files: output.lcov | |
| flags: vey-mkcert | |
| name: vey-mkcert-all-test | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| verbose: false | |
| vey-keyless-test: | |
| name: vey-keyless test | |
| runs-on: ubuntu-26.04 | |
| steps: | |
| - 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 | |
| components: llvm-tools | |
| - name: Install build dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install capnproto libmimalloc-dev libssl-dev | |
| - name: Install binutils | |
| run: | | |
| cargo install cargo-binutils@0.3.6 | |
| - name: Cargo clean | |
| run: cargo clean | |
| - name: run unit test | |
| run: | | |
| ./scripts/coverage/vey-keyless.sh | |
| - name: Upload coverage data | |
| uses: codecov/codecov-action@v7 | |
| with: | |
| fail_ci_if_error: true | |
| disable_search: true | |
| files: output.lcov | |
| flags: vey-keyless | |
| name: vey-keyless-all-test | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| verbose: false | |
| vey-proxy-test: | |
| name: vey-proxy test | |
| runs-on: ubuntu-26.04 | |
| steps: | |
| - 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 | |
| components: llvm-tools | |
| - name: Check if systemd-resolved is running | |
| run: | | |
| sudo systemctl status systemd-resolved | |
| - name: Install build dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install capnproto libjemalloc-dev libc-ares-dev libssl-dev libpython3-dev liblua5.4-dev | |
| sudo apt-get install libbpf-dev | |
| - name: Install CA Certificates | |
| run: | | |
| sudo apt-get install ca-certificates | |
| - name: Install test libs | |
| run: | | |
| sudo apt-get install python3-requests python3-pycurl python3-dnspython python3-socks | |
| - name: Install binutils | |
| run: | | |
| cargo install cargo-binutils@0.3.6 | |
| - name: Install and run c-icap | |
| run: | | |
| sudo apt-get install c-icap | |
| sudo sed -i 's/^MaxServers .*/MaxServers 100/' /etc/c-icap/c-icap.conf | |
| sudo systemctl start c-icap | |
| - name: Install netcat-openbsd | |
| run: | | |
| sudo apt-get install netcat-openbsd | |
| - name: Install wait4x | |
| run: | | |
| sudo apt-get install wait4x | |
| - name: Listen udpdump port | |
| run: | | |
| nc -u -l -k 127.0.0.1 5555 >/dev/null & | |
| - name: Backup /etc/hosts # delete this after systemd-resolved 261 | |
| run: | | |
| sudo cp /etc/hosts /etc/hosts.backup | |
| - name: Edit /etc/hosts # delete this after systemd-resolved 261 | |
| run: | | |
| cp /etc/hosts /tmp/ci-hosts | |
| echo "127.0.0.1 httpbin.local" >> /tmp/ci-hosts | |
| echo "127.0.0.1 vey-proxy.local" >> /tmp/ci-hosts | |
| sudo cp /tmp/ci-hosts /etc/hosts | |
| - name: Add static records to systemd-resolved # work only with systemd-resolved >= 261 | |
| run: | | |
| sudo mkdir -p /run/systemd/resolve/static.d | |
| sudo cp ${{ github.workspace }}/scripts/coverage/vey-bench/resolved-ci-static.rr /run/systemd/resolve/static.d/ | |
| sudo systemctl restart systemd-resolved | |
| resolvectl query httpbin.local vey-proxy.local | |
| - name: Cargo clean | |
| run: cargo clean | |
| - name: run unit test | |
| run: | | |
| ./scripts/coverage/vey-proxy.sh | |
| - name: Restore /etc/hosts # delete this after systemd-resolved 261 | |
| run: | | |
| sudo mv /etc/hosts.backup /etc/hosts | |
| - name: Upload coverage data | |
| uses: codecov/codecov-action@v7 | |
| with: | |
| fail_ci_if_error: true | |
| disable_search: true | |
| files: output.lcov | |
| flags: vey-proxy | |
| name: vey-proxy-all-test | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| verbose: false | |
| vey-bench-test: | |
| name: vey-bench test | |
| runs-on: ubuntu-26.04 | |
| steps: | |
| - 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 | |
| components: llvm-tools | |
| - name: Check if systemd-resolved is running | |
| run: | | |
| sudo systemctl status systemd-resolved | |
| - name: Install build dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install capnproto libmimalloc-dev libc-ares-dev libssl-dev libpython3-dev liblua5.4-dev | |
| - name: Install CA Certificates | |
| run: | | |
| sudo apt-get install ca-certificates | |
| - name: Install binutils | |
| run: | | |
| cargo install cargo-binutils@0.3.6 | |
| - name: Install netcat-openbsd | |
| run: | | |
| sudo apt-get install netcat-openbsd | |
| - name: Install wait4x | |
| run: | | |
| sudo apt-get install wait4x | |
| - name: Install thrift compiler | |
| run: | | |
| sudo apt-get install thrift-compiler | |
| - name: Backup /etc/hosts # delete this after systemd-resolved 261 | |
| run: | | |
| sudo cp /etc/hosts /etc/hosts.backup | |
| - name: Edit /etc/hosts # delete this after systemd-resolved 261 | |
| run: | | |
| cp /etc/hosts /tmp/ci-hosts | |
| echo "127.0.0.1 httpbin.local" >> /tmp/ci-hosts | |
| echo "127.0.0.1 vey-proxy.local" >> /tmp/ci-hosts | |
| sudo cp /tmp/ci-hosts /etc/hosts | |
| - name: Add static records to systemd-resolved # work only with systemd-resolved >= 261 | |
| run: | | |
| sudo mkdir -p /run/systemd/resolve/static.d | |
| sudo cp ${{ github.workspace }}/scripts/coverage/vey-bench/resolved-ci-static.rr /run/systemd/resolve/static.d/ | |
| sudo systemctl restart systemd-resolved | |
| resolvectl query httpbin.local vey-proxy.local | |
| - name: Cargo clean | |
| run: cargo clean | |
| - name: run unit test | |
| run: | | |
| ./scripts/coverage/vey-bench.sh | |
| - name: Restore /etc/hosts # delete this after systemd-resolved 261 | |
| run: | | |
| sudo mv /etc/hosts.backup /etc/hosts | |
| - name: Upload coverage data | |
| uses: codecov/codecov-action@v7 | |
| with: | |
| fail_ci_if_error: true | |
| disable_search: true | |
| files: output.lcov | |
| flags: vey-bench | |
| name: vey-bench-all-test | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| verbose: false | |
| vey-statsd-test: | |
| name: vey-statsd test | |
| runs-on: ubuntu-26.04 | |
| steps: | |
| - 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 | |
| components: llvm-tools | |
| - name: Install build dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install capnproto libjemalloc-dev | |
| - name: Install binutils | |
| run: | | |
| cargo install cargo-binutils@0.3.6 | |
| - name: Install netcat-openbsd | |
| run: | | |
| sudo apt-get install netcat-openbsd | |
| - name: Install wait4x | |
| run: | | |
| sudo apt-get install wait4x | |
| - name: Cargo clean | |
| run: cargo clean | |
| - name: run unit test | |
| run: | | |
| ./scripts/coverage/vey-statsd.sh | |
| - name: Upload coverage data | |
| uses: codecov/codecov-action@v7 | |
| with: | |
| fail_ci_if_error: true | |
| disable_search: true | |
| files: output.lcov | |
| flags: vey-statsd | |
| name: vey-statsd-all-test | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| verbose: false |