From 9362aa7164f3ded79033c19b4bff61e897ea5fb6 Mon Sep 17 00:00:00 2001 From: Vibe Myass Date: Mon, 16 Mar 2026 04:24:40 +0000 Subject: [PATCH] Add Gitea smoke runner workflow --- .gitea/workflows/smoke.yml | 48 ++++++++++++++++++++++++++++++++++++++ README.md | 24 +++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 .gitea/workflows/smoke.yml diff --git a/.gitea/workflows/smoke.yml b/.gitea/workflows/smoke.yml new file mode 100644 index 0000000..5c62b9b --- /dev/null +++ b/.gitea/workflows/smoke.yml @@ -0,0 +1,48 @@ +name: smoke + +on: + push: + pull_request: + +jobs: + smoke: + runs-on: + - debian-13 + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Verify runner prerequisites + run: | + set -euo pipefail + command -v bash >/dev/null + command -v curl >/dev/null + command -v gcc >/dev/null + command -v pkg-config >/dev/null + pkg-config --exists libnftables + + - name: Install .NET SDK + run: | + set -euo pipefail + curl -fsSL https://dot.net/v1/dotnet-install.sh -o dotnet-install.sh + bash dotnet-install.sh --channel 10.0 --quality ga --install-dir "$HOME/.dotnet" + + - name: Show .NET info + run: | + set -euo pipefail + "$HOME/.dotnet/dotnet" --info + + - name: Restore + run: | + set -euo pipefail + "$HOME/.dotnet/dotnet" restore + + - name: Build + run: | + set -euo pipefail + "$HOME/.dotnet/dotnet" build --no-restore + + - name: Test + run: | + set -euo pipefail + "$HOME/.dotnet/dotnet" test LibNftables.slnx --no-build diff --git a/README.md b/README.md index 1edc361..041b2c8 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,30 @@ The test suite contains: - Native integration tests that self-gate when `libnftables` is unavailable - Capability-dependent tests that only run when `CAP_NET_ADMIN` is available +## Gitea Smoke CI + +The repository includes a Gitea Actions smoke workflow at `.gitea/workflows/smoke.yml`. + +- Trigger: push and pull request +- Runner label: `debian-13` +- Job model: non-root smoke verification +- Workflow actions: + - bootstrap the .NET 10 SDK inside the job + - restore + - build + - run `dotnet test` + +Important runner prerequisites: + +- Debian 13 host with the `debian-13` label +- `bash` +- `curl` +- `gcc` +- `pkg-config` +- system-installed `libnftables` development/runtime packages discoverable by `pkg-config` + +The job does not attempt package-manager installs or privilege escalation. It is intended to catch restore/build/test regressions, not to provide privileged nftables coverage. + ## High-Level Example ```csharp