Summary
Replace the unit test step currently executed by Prow (make docker-test in automation/check-patch.e2e.sh) with a GitHub Actions workflow.
This should be an extension of the existing "Quality check" workflow. Depending on success of build and lint.
Current state
Unit tests are run inside a Fedora-based container (hack/test-dockerized.sh) that provides Open vSwitch and CNI plugin dependencies. The container runs make test, which executes:
go test -p 1 -mod=readonly ./cmd/... ./pkg/... -v --ginkgo.v
Tests are serialized (-p 1) because multiple packages interact with a shared OVS instance. The test environment requires a running ovsdb-server and ovs-vswitchd, and the host-local CNI plugin binary.
Expected outcome
A GitHub Actions workflow that:
- Triggers on pull requests and pushes to the
main branch.
- Runs
make test (or the equivalent dockerized variant make docker-test) and reports pass/fail as a status check.
- Provides an environment with Open vSwitch services available, as the tests operate against a real OVS database.
- Uses the Go version defined by the project.
Acceptance criteria
Summary
Replace the unit test step currently executed by Prow (
make docker-testinautomation/check-patch.e2e.sh) with a GitHub Actions workflow.This should be an extension of the existing "Quality check" workflow. Depending on success of build and lint.
Current state
Unit tests are run inside a Fedora-based container (
hack/test-dockerized.sh) that provides Open vSwitch and CNI plugin dependencies. The container runsmake test, which executes:Tests are serialized (
-p 1) because multiple packages interact with a shared OVS instance. The test environment requires a runningovsdb-serverandovs-vswitchd, and thehost-localCNI plugin binary.Expected outcome
A GitHub Actions workflow that:
mainbranch.make test(or the equivalent dockerized variantmake docker-test) and reports pass/fail as a status check.Acceptance criteria
./cmd/...and./pkg/...pass on themainbranch.