feat(ci): staging prints per-phase timings and the slowest Ansible tasks #87

Merged
jfraeys merged 1 commit from jfraeys/feat/staging-timing-profile into main 2026-10-12 23:33:25 -04:00
Owner

Staging validation takes ~15 minutes and the services deploy is 57% of it (8m49s in run 377), but there is no data on what inside that deploy is slow.

  • scripts/lib/ci-staging-env.sh: enable ansible.posix.profile_tasks (top 15 slowest tasks printed at the end of every playbook run). Tested locally; a missing collection is skipped silently by Ansible, so it cannot break a run.
  • scripts/lib/setup/staging.sh: phase_mark/print_phase_timings record and print a table at the end of run_staging_workflow (success and failure): create nodes + wait, first hardening validation, deploys + smoke tests + connectivity, destroy. Marks live in run_staging_workflow only, so they do not conflict with the open run_full_check PRs. Helper verified with a short synthetic run.

No behaviour change otherwise. Use the first output to decide what to cache or move off the critical path.

🤖 Generated with Claude Code

Staging validation takes ~15 minutes and the services deploy is 57% of it (8m49s in run 377), but there is no data on what inside that deploy is slow. - scripts/lib/ci-staging-env.sh: enable ansible.posix.profile_tasks (top 15 slowest tasks printed at the end of every playbook run). Tested locally; a missing collection is skipped silently by Ansible, so it cannot break a run. - scripts/lib/setup/staging.sh: phase_mark/print_phase_timings record and print a table at the end of run_staging_workflow (success and failure): create nodes + wait, first hardening validation, deploys + smoke tests + connectivity, destroy. Marks live in run_staging_workflow only, so they do not conflict with the open run_full_check PRs. Helper verified with a short synthetic run. No behaviour change otherwise. Use the first output to decide what to cache or move off the critical path. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
feat(ci): staging prints per-phase timings and the slowest Ansible tasks
All checks were successful
Lint / lint (pull_request) Successful in 1m19s
Secret scan / scan (pull_request) Successful in 12s
c1391c52d7
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
jfraeys/infra!87
No description provided.