fix(ci): default to all tests on all platforms + align with CLI naming

- Default test_type: quick → all (run full validation by default)
- Default os: linux → all (test both platforms by default)
- Rename 'release' → 'user-journey' to match CLI --user-journey flag
- Fix 'standard' to correctly stop at stage 5 (was running user-journey)
- Reorder options to show defaults first in dropdown
This commit is contained in:
Vijay Janapa Reddi
2026-01-29 12:43:32 -05:00
parent 08278a8a6b
commit 9e56fc2e2e

View File

@@ -56,29 +56,29 @@ on:
os:
description: 'Operating system (linux, windows, all)'
required: false
default: 'linux'
default: 'all'
type: string
workflow_dispatch:
inputs:
test_type:
description: 'Test type to run'
description: 'Test type to run (matches: tito dev test --<type>)'
required: false
default: 'quick'
default: 'all'
type: choice
options:
- quick # unit + cli (fast feedback, no build)
- standard # stages 1-5 (no milestones)
- all # stages 1-6 (everything except release)
- release # destructive full validation
- all # --all: Full validation (stages 1-7)
- quick # --unit --cli: Fast feedback, no inline build
- standard # Stages 1-5: inline + unit + integration + cli + e2e
- user-journey # --user-journey: Full destructive journey test
os:
description: 'Operating system to test'
required: false
default: 'linux'
default: 'all'
type: choice
options:
- linux # Ubuntu only (default)
- windows # Windows only (experimental)
- all # Both Linux and Windows
- all # Both Linux and Windows (default)
- linux # Ubuntu only
- windows # Windows only
permissions:
contents: read
@@ -161,7 +161,7 @@ jobs:
esac
# Set flags based on test type
# Sequential order: inline → unit → integration → cli → e2e → release
# Stages: inline → unit → integration → cli → e2e → fresh-install → user-journey
case "$TEST_TYPE" in
quick)
# Fast feedback: skip inline build, just unit + cli
@@ -173,25 +173,16 @@ jobs:
echo "run_release=false" >> $GITHUB_OUTPUT
;;
standard)
# Stages 1-7 (includes user journey)
# Stages 1-5: inline + unit + integration + cli + e2e
echo "run_inline=true" >> $GITHUB_OUTPUT
echo "run_unit=true" >> $GITHUB_OUTPUT
echo "run_integration=true" >> $GITHUB_OUTPUT
echo "run_cli=true" >> $GITHUB_OUTPUT
echo "run_e2e=true" >> $GITHUB_OUTPUT
echo "run_release=true" >> $GITHUB_OUTPUT
echo "run_release=false" >> $GITHUB_OUTPUT
;;
all)
# All stages 1-7 (used for dev/main pushes)
echo "run_inline=true" >> $GITHUB_OUTPUT
echo "run_unit=true" >> $GITHUB_OUTPUT
echo "run_integration=true" >> $GITHUB_OUTPUT
echo "run_cli=true" >> $GITHUB_OUTPUT
echo "run_e2e=true" >> $GITHUB_OUTPUT
echo "run_release=true" >> $GITHUB_OUTPUT
;;
release)
# Full validation: all stages + destructive release at the end
all|user-journey)
# All stages 1-7 (full validation including destructive user journey)
echo "run_inline=true" >> $GITHUB_OUTPUT
echo "run_unit=true" >> $GITHUB_OUTPUT
echo "run_integration=true" >> $GITHUB_OUTPUT