Files
pezkuwi-sdk/.github/zombienet-tests/ZOMBIENET_CI.md
T
pezkuwichain ee389beb8c feat: Add rebrand CI/CD workflows to main branch
- 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
2025-12-19 22:51:57 +03:00

76 lines
3.0 KiB
Markdown

# 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.py` converts 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:
1. **Create a branch** with your changes
2. **Create a Pull Request** for that branch
3. **Ensure CI starts building images** - the PR triggers image builds that the `preflight / wait_build_images` step depends on
4. [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`:
```bash
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):**
```bash
.github/scripts/dispatch-zombienet-workflow.sh -w zombienet_substrate.yml -b "my-branch" -m 5
```
**Run specific test infinitely (includes flaky tests):**
```bash
.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:**
```bash
.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-sdk` repository root
- Requires `gh` CLI (will prompt for login on first use)
## Flaky Tests
Flaky tests should have corresponding issues in the [Zombienet CI reliability project](https://github.com/orgs/pezkuwichain/projects/216/views/1).