- Add 72 rebrand workflow files (polkadot→pezkuwi, substrate→bizinikiwi, cumulus→pezcumulus) - Add GitHub actions, issue templates, and configs - Removed unnecessary workflows (fork-sync, gitspiegel, upstream-tracker, sync-templates, backport) - Renamed zombienet test files to match new naming convention
3.0 KiB
Zombienet Tests
This folder contains zombienet test definitions for CI execution.
Structure
- Test definitions: YAML files defining test matrices (e.g.,
zombienet_substrate_tests.yml) - Flaky tests: Listed in
.github/zombienet-flaky-tests- tests with non-deterministic behavior - Parser:
.github/scripts/parse-zombienet-tests.pyconverts YAML to GitHub Actions matrix
Benefits
- Easy test maintenance (add/remove tests)
- Efficient flaky test handling
- Pattern-based test execution for debugging
Manual Workflow Triggering
Prerequisites
Before using the dispatch script, you must:
- Create a branch with your changes
- Create a Pull Request for that branch
- Ensure CI starts building images - the PR triggers image builds that the
preflight / wait_build_imagesstep depends on - [OPTIONAL] Wait for image builds to complete - zombienet tests require these images. But if we don't wait then the job triggered by the script will wait for images if their building is in progress.
Important: When you push new changes to the PR, CI will rebuild the images. Any jobs triggered after the rebuild will use the updated images.
Image Retention: CI images have a 1-day retention period by default. For long-term testing (e.g., over weekends) without pushing changes, temporarily extend the retention by updating the retention-days value in .github/workflows/build-publish-images.yml to the required number of days.
Usage
The dispatch script triggers GitHub Actions workflows remotely and monitors their execution.
The script should be executed on developer's machine.
Use .github/scripts/dispatch-zombienet-workflow.sh:
Usage: .github/scripts/dispatch-zombienet-workflow.sh -w <workflow-file> -b <branch> [-m max-triggers] [-p test-pattern]
-w: Workflow file (required)
-b: Branch name (required)
-m: Max triggers (optional, default: infinite)
-p: Test pattern (optional, supports regex)
The script automatically creates a CSV file (workflow_results_YYYYMMDD_HHMMSS.csv) containing job results with columns: job_id, job_name, conclusion, started_at, branch, job_url.
Examples
Run workflow 5 times (respects flaky test exclusions):
.github/scripts/dispatch-zombienet-workflow.sh -w zombienet_substrate.yml -b "my-branch" -m 5
Run specific test infinitely (includes flaky tests):
.github/scripts/dispatch-zombienet-workflow.sh -w zombienet_substrate.yml -b "my-branch" -p zombienet-bizinikiwi-0000-block-building
Run multiple specific tests using regex pattern:
.github/scripts/dispatch-zombienet-workflow.sh -w zombienet_cumulus.yml -b "my-branch" -p "zombienet-pezcumulus-0002-pov_recovery|zombienet-pezcumulus-0006-rpc_collator_builds_blocks"
Requirements
- Run from
pezkuwi-sdkrepository root - Requires
ghCLI (will prompt for login on first use)
Flaky Tests
Flaky tests should have corresponding issues in the Zombienet CI reliability project.