mirror of
https://github.com/bmadcode/BMAD-METHOD.git
synced 2025-12-29 16:14:59 +00:00
- Installation path is now fully configurable, allowing users to specify custom installation directories during setup
- Default installation location changed to .bmad (hidden directory) for cleaner project root organization
Web Bundle Improvements:
- All web bundles (single agent and team) now include party mode support for multi-agent collaboration!
- Advanced elicitation capabilities integrated into standalone agents
- All bundles enhanced with party mode agent manifests
- Added default-party.csv files to bmm, bmgd, and cis module teams
- The default party file is what will be used with single agent bundles. teams can customize for different party configurations before web bundling through a setting in the team yaml file
- New web bundle outputs for all agents (analyst, architect, dev, pm, sm, tea, tech-writer, ux-designer, game-*, creative-squad)
Phase 4 Workflow Updates (In Progress):
- Initiated shift to separate phase 4 implementation artifacts from documentation
- Phase 4 implementation artifacts (stories, code review, sprint plan, context files) will move to dedicated location outside docs folder
- Installer questions and configuration added for artifact path selection
- Updated workflow.yaml files for code-review, sprint-planning, story-context, epic-tech-context, and retrospective workflows to support this, but still might require some udpates
Additional Changes:
- New agent and action command header models for standardization
- Enhanced web-bundle-activation-steps fragment
- Updated web-bundler.js to support new structure
- VS Code settings updated for new .bmad directory
- Party mode instructions and workflow enhanced for better orchestration
IDE Installer Updates:
- Show version number of installer in cli
- improved Installer UX
- Gemini TOML Improved to have clear loading instructions with @ commands
- All tools agent launcher mds improved to use a central file template critical indication isntead of hardcoding in 2 different locations.
129 lines
2.9 KiB
YAML
129 lines
2.9 KiB
YAML
# GitLab CI/CD Pipeline for Test Execution
|
|
# Generated by BMad TEA Agent - Test Architect Module
|
|
# Optimized for: Playwright/Cypress, Parallel Sharding, Burn-In Loop
|
|
|
|
stages:
|
|
- lint
|
|
- test
|
|
- burn-in
|
|
- report
|
|
|
|
variables:
|
|
# Disable git depth for accurate change detection
|
|
GIT_DEPTH: 0
|
|
# Use npm ci for faster, deterministic installs
|
|
npm_config_cache: "$CI_PROJECT_DIR/.npm"
|
|
# Playwright browser cache
|
|
PLAYWRIGHT_BROWSERS_PATH: "$CI_PROJECT_DIR/.cache/ms-playwright"
|
|
|
|
# Caching configuration
|
|
cache:
|
|
key:
|
|
files:
|
|
- package-lock.json
|
|
paths:
|
|
- .npm/
|
|
- .cache/ms-playwright/
|
|
- node_modules/
|
|
|
|
# Lint stage - Code quality checks
|
|
lint:
|
|
stage: lint
|
|
image: node:20
|
|
script:
|
|
- npm ci
|
|
- npm run lint
|
|
timeout: 5 minutes
|
|
|
|
# Test stage - Parallel execution with sharding
|
|
.test-template: &test-template
|
|
stage: test
|
|
image: node:20
|
|
needs:
|
|
- lint
|
|
before_script:
|
|
- npm ci
|
|
- npx playwright install --with-deps chromium
|
|
artifacts:
|
|
when: on_failure
|
|
paths:
|
|
- test-results/
|
|
- playwright-report/
|
|
expire_in: 30 days
|
|
timeout: 30 minutes
|
|
|
|
test:shard-1:
|
|
<<: *test-template
|
|
script:
|
|
- npm run test:e2e -- --shard=1/4
|
|
|
|
test:shard-2:
|
|
<<: *test-template
|
|
script:
|
|
- npm run test:e2e -- --shard=2/4
|
|
|
|
test:shard-3:
|
|
<<: *test-template
|
|
script:
|
|
- npm run test:e2e -- --shard=3/4
|
|
|
|
test:shard-4:
|
|
<<: *test-template
|
|
script:
|
|
- npm run test:e2e -- --shard=4/4
|
|
|
|
# Burn-in stage - Flaky test detection
|
|
burn-in:
|
|
stage: burn-in
|
|
image: node:20
|
|
needs:
|
|
- test:shard-1
|
|
- test:shard-2
|
|
- test:shard-3
|
|
- test:shard-4
|
|
# Only run burn-in on merge requests to main/develop or on schedule
|
|
rules:
|
|
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
- if: '$CI_PIPELINE_SOURCE == "schedule"'
|
|
before_script:
|
|
- npm ci
|
|
- npx playwright install --with-deps chromium
|
|
script:
|
|
- |
|
|
echo "🔥 Starting burn-in loop - detecting flaky tests"
|
|
for i in {1..10}; do
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
echo "🔥 Burn-in iteration $i/10"
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
npm run test:e2e || exit 1
|
|
done
|
|
echo "✅ Burn-in complete - no flaky tests detected"
|
|
artifacts:
|
|
when: on_failure
|
|
paths:
|
|
- test-results/
|
|
- playwright-report/
|
|
expire_in: 30 days
|
|
timeout: 60 minutes
|
|
|
|
# Report stage - Aggregate results
|
|
report:
|
|
stage: report
|
|
image: alpine:latest
|
|
needs:
|
|
- test:shard-1
|
|
- test:shard-2
|
|
- test:shard-3
|
|
- test:shard-4
|
|
- burn-in
|
|
when: always
|
|
script:
|
|
- |
|
|
echo "## Test Execution Summary"
|
|
echo ""
|
|
echo "- Pipeline: $CI_PIPELINE_ID"
|
|
echo "- Shards: 4"
|
|
echo "- Branch: $CI_COMMIT_REF_NAME"
|
|
echo ""
|
|
echo "View detailed results in job artifacts"
|