Repository navigation
accurate benchmarks on bare VXLAN creation steps #1202
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: CI | |
| on: | |
| push: | |
| branches: | |
| - '*' | |
| pull_request: | |
| branches: | |
| - '*' | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| stable: | |
| name: stable - ${{ matrix.package }} | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| package: | |
| - nullnet-grpc-lib | |
| - nullnet-server | |
| - nullnet-proxy | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt, clippy | |
| - name: Install protoc | |
| run: | | |
| curl -OL https://github.com/google/protobuf/releases/download/v3.20.3/protoc-3.20.3-linux-x86_64.zip | |
| unzip protoc-3.20.3-linux-x86_64.zip -d protoc3 | |
| sudo mv protoc3/bin/* /usr/local/bin/ | |
| sudo mv protoc3/include/* /usr/local/include/ | |
| - name: fmt | |
| run: cargo fmt -p ${{ matrix.package }} -- --check | |
| - name: build | |
| run: cargo build -p ${{ matrix.package }} --verbose | |
| - name: clippy | |
| run: cargo clippy -p ${{ matrix.package }} -- -D warnings | |
| - name: test | |
| run: cargo test -p ${{ matrix.package }} --verbose -- --nocapture | |
| - name: UI polling tests | |
| if: matrix.package == 'nullnet-server' | |
| run: npm --prefix members/nullnet-server/ui test | |
| nightly-client: | |
| name: nightly - nullnet-client + ebpf | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: dtolnay/rust-toolchain@nightly | |
| with: | |
| components: rust-src, rustfmt, clippy | |
| # Installs a prebuilt binary rather than compiling from source: bpf-linker's | |
| # own build needs a matching local LLVM (`llvm-config` on PATH), which the | |
| # runner image doesn't reliably provide and isn't worth pinning here. This | |
| # is the install method aya-rs's own template CI uses. | |
| - uses: taiki-e/install-action@v2 | |
| with: | |
| tool: bpf-linker | |
| - name: Install protoc | |
| run: | | |
| curl -OL https://github.com/google/protobuf/releases/download/v3.20.3/protoc-3.20.3-linux-x86_64.zip | |
| unzip protoc-3.20.3-linux-x86_64.zip -d protoc3 | |
| sudo mv protoc3/bin/* /usr/local/bin/ | |
| sudo mv protoc3/include/* /usr/local/include/ | |
| - name: fmt | |
| run: | | |
| cargo fmt -p nullnet-client -- --check | |
| cargo fmt --manifest-path ebpf/Cargo.toml --all -- --check | |
| - name: build | |
| run: cargo xtask build | |
| - name: clippy | |
| run: cargo xtask lint | |
| - name: test | |
| env: | |
| NULLNET_BIN_PATH: ${{ github.workspace }}/target/bpfel-unknown-none/debug/nullnet | |
| run: cargo test -p nullnet-client --verbose -- --nocapture |