54 lines
1.9 KiB
YAML
54 lines
1.9 KiB
YAML
# Test Architect workflow: ci
|
|
name: testarch-ci
|
|
description: "Scaffold CI/CD quality pipeline with test execution, burn-in loops, and artifact collection"
|
|
author: "BMad"
|
|
|
|
# Critical variables from config
|
|
config_source: "{project-root}/bmad/bmm/config.yaml"
|
|
output_folder: "{config_source}:output_folder"
|
|
user_name: "{config_source}:user_name"
|
|
communication_language: "{config_source}:communication_language"
|
|
document_output_language: "{config_source}:document_output_language"
|
|
date: system-generated
|
|
|
|
# Workflow components
|
|
installed_path: "{project-root}/bmad/bmm/workflows/testarch/ci"
|
|
instructions: "{installed_path}/instructions.md"
|
|
validation: "{installed_path}/checklist.md"
|
|
|
|
# Variables and inputs
|
|
variables:
|
|
ci_platform: "auto" # auto, github-actions, gitlab-ci, circle-ci, jenkins - user can override
|
|
test_dir: "{project-root}/tests" # Root test directory
|
|
|
|
# Output configuration
|
|
default_output_file: "{project-root}/.github/workflows/test.yml" # GitHub Actions default
|
|
|
|
# Required tools
|
|
required_tools:
|
|
- read_file # Read .nvmrc, package.json, framework config
|
|
- write_file # Create CI config, scripts, documentation
|
|
- create_directory # Create .github/workflows/ or .gitlab-ci/ directories
|
|
- list_files # Detect existing CI configuration
|
|
- search_repo # Find test files for selective testing
|
|
|
|
# Recommended inputs
|
|
recommended_inputs:
|
|
- framework_config: "Framework configuration (playwright.config.ts, cypress.config.ts)"
|
|
- package_json: "Project dependencies and scripts"
|
|
- nvmrc: ".nvmrc for Node version (optional, defaults to LTS)"
|
|
- existing_ci: "Existing CI configuration to update (optional)"
|
|
- git_info: "Git repository information for platform detection"
|
|
|
|
tags:
|
|
- qa
|
|
- ci-cd
|
|
- test-architect
|
|
- pipeline
|
|
- automation
|
|
|
|
execution_hints:
|
|
interactive: false # Minimize prompts, auto-detect when possible
|
|
autonomous: true # Proceed without user input unless blocked
|
|
iterative: true
|