Setupยถ
WAFT (Warp Automation Framework for Testing)ยถ
A comprehensive automation framework for testing Cloudflareโs WARP client across multiple operating systems and architectures.
๐ Overviewยถ
WAFT provides a unified framework for:
Multi-OS Testing: Ubuntu, Windows, RHEL/AlmaLinux, Debian
Cross-Architecture Support: Intel/AMD64 and ARM64
VM Management: Automated VM provisioning and configuration
Test Orchestration: Comprehensive test suite execution
CI/CD Integration: GitLab CI/CD pipeline templates
๐ฆ Componentsยถ
Core Framework (waft/src/waft/)ยถ
CLI Interface: Command-line tools for VM and test management
VM Management: Automated VM creation, configuration, and cleanup
Test Execution: Pytest-based test runner with WARP client integration
Configuration Management: Centralized configuration and secrets handling
Test Pipeline (waft/.gitlab/ci/)ยถ
CI/CD Templates: Ready-to-use GitLab CI/CD templates for external projects
Multi-OS Support: Comprehensive OS and architecture matrix testing
๐ Documentationยถ
Test Pipeline Documentationยถ
For comprehensive information about using WAFTโs CI/CD pipeline system:
๐ WAFT Test Pipeline Documentation
This documentation covers:
External Integration: How to use WAFT testing in your projects
OS Version Support: Complete matrix of supported operating systems
Core Framework Documentationยถ
๐ WAFT Framework Documentation
CLI Reference: At-a-glance
CLI Commands:
waft --helpandwaft <command> --helpDocumentation:
waft show --helpVM Management:
waft vm --helpConfiguration:
waft config --help
๐ Quick Startยถ
For External Projectsยถ
Include WAFT testing in your project:
# .gitlab-ci.yml
include:
- project: 'cloudflare/ztqa/waft'
ref: 'main'
file: '.gitlab/waft_test_pipeline/waft-test-template-vm.yml'
variables:
# Test specific OS combinations
RUN_UBUNTU_24_04_INTEL: "true"
RUN_WINDOWS_11_INTEL: "true"
PYTEST_MARKERS: "smoke"
ALLURE_PROJECT_SLUG: "my-project-waft-tests"
For Local Executionยถ
Run WAFT tests from your system:
๐ป Prepare test systems
โ๏ธ Configure clients to be tested, either:
๐งช Run tests (โTest Execution Guideโโฆcoming soon)
๐๏ธ Architectureยถ
WAFT Framework
โโโ Core Framework (waft/)
โ โโโ VM Management
โ โโโ Test Orchestration
โ โโโ Configuration Management
โ โโโ CLI Interface
โโโ Test Pipeline (.gitlab/waft_test_pipeline/)
โโโ CI/CD Templates
โโโ OS Job Definitions
โโโ Reporting Integration
๐ Supported Operating Systemsยถ
OS Family |
Versions |
Architectures |
Matrix Size |
|---|---|---|---|
Ubuntu |
24.04, 22.04, 20.04 LTS |
Intel, ARM64 |
6 combinations |
Windows |
11, 10, Server 2022, 2019 |
Intel, ARM64ยน |
5 combinations |
RHEL/AlmaLinux |
AlmaLinux 8 |
Intel, ARM64 |
2 combinations |
Debian |
13, 12, 11 LTS |
Intel, ARM64 |
6 combinations |
ยน ARM64 support varies by OS version
๐ Supportยถ
Pipeline Issues: See Test Pipeline Documentation
Framework Issues: Submit a ticket to the ZTQA JIRA project
General Questions: Contact the ZTQA Test & Automation team
Ready to get started? Check out the following references for detailed setup instructions and examples:
Getting Startedยถ
Complete the default Python Environment Setup configuration.
Executeยถ
Finalize your local WAFT Framework Configuration and Setup.
Contributeยถ
Check out our best practices for contributing to the framework.
Run tests via CLI!