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

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.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:

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-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.