TEST-INFRA: [ci-execution-time] Investigate and optimize the 'feat(repo): add lifecycle plan repository' workflow #1960

Open
opened 2026-04-03 00:24:14 +00:00 by freemo · 1 comment
Owner

Metadata

  • Branch: task/ci-optimize-lifecycle-plan-repo-workflow
  • Commit Message: perf(ci): reduce execution time of feat(repo) lifecycle plan repository workflow
  • Milestone: v3.8.0
  • Parent Epic: #1678

Background and Context

The feat(repo): add lifecycle plan repository workflow has been identified as one of the longest-running workflows in the CI pipeline. It has an average execution time of over 1 hour and 12 minutes, which significantly impacts developer feedback loops and consumes shared runner capacity.

This issue tracks the investigation and optimization of this specific workflow to bring its execution time within acceptable bounds.

Current Behavior

The feat(repo): add lifecycle plan repository CI workflow runs for an average of 1 hour and 12 minutes or more per execution. This is well above the acceptable threshold for a CI workflow and blocks developer productivity.

Expected Behavior

The workflow execution time is reduced by at least 50% (i.e., to approximately 36 minutes or less), achieved through targeted optimizations such as parallelization, caching, test splitting, or elimination of redundant work.

Acceptance Criteria

  • The execution time of the feat(repo): add lifecycle plan repository workflow is reduced by at least 50% compared to the current average of ~1h 12m.
  • No existing tests are removed or skipped to achieve the time reduction — all coverage must be preserved.
  • The optimizations are documented in a comment on this issue and/or in the commit body.
  • All nox stages pass after the changes.
  • Coverage remains ≥ 97%.

Supporting Information

  • Parent Epic: #1678 — CI Execution Time Optimization — Timeouts, Concurrency, and Coverage Artifact Sharing
  • Identified as part of a broader CI pipeline performance audit.

Subtasks

  • Profile the feat(repo): add lifecycle plan repository workflow to identify the slowest steps/jobs
  • Investigate parallelization opportunities (e.g., splitting test suites across parallel jobs)
  • Investigate caching opportunities (e.g., dependency caches, build artifact caches)
  • Investigate test splitting strategies (e.g., by module, by feature file, by estimated duration)
  • Investigate whether any steps duplicate work already done in other jobs (e.g., re-running tests that were already run)
  • Implement the identified optimizations in .forgejo/workflows/ci.yml and/or nox configuration
  • Measure and document the post-optimization execution time
  • Update features/ci_workflow_validation.feature to assert any new structural changes (parallelism, caching steps, etc.)
  • Run nox (all default sessions), fix any errors
  • Verify coverage ≥ 97% via nox -s coverage_report

Definition of Done

This issue is complete when:

  • All subtasks above are completed and checked off.
  • The feat(repo): add lifecycle plan repository workflow execution time is reduced by ≥ 50%.
  • A Git commit is created where the first line of the commit message matches the Commit Message in Metadata exactly, followed by a blank line, then additional lines providing relevant details about the implementation.
  • The commit is pushed to the remote on the branch matching the Branch in Metadata exactly.
  • The commit is submitted as a pull request to master, reviewed, and merged before this issue is marked done.
  • All nox stages pass.
  • Coverage ≥ 97%.

Automated by CleverAgents Bot
Supervisor: Test Infrastructure | Agent: ca-new-issue-creator

## Metadata - **Branch**: `task/ci-optimize-lifecycle-plan-repo-workflow` - **Commit Message**: `perf(ci): reduce execution time of feat(repo) lifecycle plan repository workflow` - **Milestone**: v3.8.0 - **Parent Epic**: #1678 ## Background and Context The `feat(repo): add lifecycle plan repository` workflow has been identified as one of the longest-running workflows in the CI pipeline. It has an average execution time of over **1 hour and 12 minutes**, which significantly impacts developer feedback loops and consumes shared runner capacity. This issue tracks the investigation and optimization of this specific workflow to bring its execution time within acceptable bounds. ## Current Behavior The `feat(repo): add lifecycle plan repository` CI workflow runs for an average of 1 hour and 12 minutes or more per execution. This is well above the acceptable threshold for a CI workflow and blocks developer productivity. ## Expected Behavior The workflow execution time is reduced by at least **50%** (i.e., to approximately 36 minutes or less), achieved through targeted optimizations such as parallelization, caching, test splitting, or elimination of redundant work. ## Acceptance Criteria - [ ] The execution time of the `feat(repo): add lifecycle plan repository` workflow is reduced by at least 50% compared to the current average of ~1h 12m. - [ ] No existing tests are removed or skipped to achieve the time reduction — all coverage must be preserved. - [ ] The optimizations are documented in a comment on this issue and/or in the commit body. - [ ] All nox stages pass after the changes. - [ ] Coverage remains ≥ 97%. ## Supporting Information - Parent Epic: #1678 — CI Execution Time Optimization — Timeouts, Concurrency, and Coverage Artifact Sharing - Identified as part of a broader CI pipeline performance audit. ## Subtasks - [ ] Profile the `feat(repo): add lifecycle plan repository` workflow to identify the slowest steps/jobs - [ ] Investigate parallelization opportunities (e.g., splitting test suites across parallel jobs) - [ ] Investigate caching opportunities (e.g., dependency caches, build artifact caches) - [ ] Investigate test splitting strategies (e.g., by module, by feature file, by estimated duration) - [ ] Investigate whether any steps duplicate work already done in other jobs (e.g., re-running tests that were already run) - [ ] Implement the identified optimizations in `.forgejo/workflows/ci.yml` and/or nox configuration - [ ] Measure and document the post-optimization execution time - [ ] Update `features/ci_workflow_validation.feature` to assert any new structural changes (parallelism, caching steps, etc.) - [ ] Run `nox` (all default sessions), fix any errors - [ ] Verify coverage ≥ 97% via `nox -s coverage_report` ## Definition of Done This issue is complete when: - All subtasks above are completed and checked off. - The `feat(repo): add lifecycle plan repository` workflow execution time is reduced by ≥ 50%. - A Git commit is created where the **first line** of the commit message matches the Commit Message in Metadata exactly, followed by a blank line, then additional lines providing relevant details about the implementation. - The commit is pushed to the remote on the branch matching the **Branch** in Metadata exactly. - The commit is submitted as a **pull request** to `master`, reviewed, and **merged** before this issue is marked done. - All nox stages pass. - Coverage ≥ 97%. --- **Automated by CleverAgents Bot** Supervisor: Test Infrastructure | Agent: ca-new-issue-creator
freemo added this to the v3.8.0 milestone 2026-04-03 00:24:21 +00:00
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • MoSCoW: MoSCoW/Could Have — CI/test infrastructure improvement.

Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: ca-project-owner

Issue triaged by project owner: - **State**: Verified - **MoSCoW**: MoSCoW/Could Have — CI/test infrastructure improvement. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
freemo removed this from the v3.8.0 milestone 2026-04-07 01:31:30 +00:00
Sign in to join this conversation.
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.

Reference
cleveragents/cleveragents-core#1960
No description provided.