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