TEST-INFRA: [ci-execution-time] Combine static analysis jobs to reduce overhead #2337

Open
opened 2026-04-03 14:48:02 +00:00 by freemo · 2 comments
Owner

Metadata

  • Branch: chore/ci-combine-static-analysis-jobs
  • Commit Message: chore(ci): combine static analysis jobs to reduce pipeline overhead
  • Milestone: v3.2.0
  • Parent Epic: #1678

Background and Context

The CI pipeline currently runs linting, type checking, security scanning, and quality checks in four separate jobs (lint, typecheck, security, quality). Each of these jobs repeats the same environment setup steps (installing Node.js, checking out code, installing uv/nox, caching packages), which adds significant overhead to the total execution time. By combining these four jobs into a single static-analysis job with parallel steps, we can reduce the cumulative setup time and speed up the CI cycle.

Expected Behavior

A single static-analysis job replaces the four individual analysis jobs, running all four checks in parallel within that job. The status-check job is updated to depend on static-analysis. Total CI execution time for a typical PR is measurably reduced.

Acceptance Criteria

  • A single static-analysis job exists in .forgejo/workflows/ci.yml in place of the four individual jobs.
  • All four analysis checks (lint, typecheck, security, quality) continue to run and report status correctly.
  • The status-check job correctly depends on static-analysis.
  • Total CI execution time for a typical PR is measurably reduced compared to the baseline.

Subtasks

  • Modify .forgejo/workflows/ci.yml to merge the lint, typecheck, security, and quality jobs into a single new job named static-analysis.
  • Configure the new job to run the four analysis steps in parallel within the job.
  • Ensure the status-check job is updated to depend on the new static-analysis job.
  • Verify all static analysis checks continue to run and report status correctly in CI.
  • Run nox (all default sessions), fix any errors.

Definition of Done

  • All subtasks above are completed and checked off.
  • A single static-analysis job replaces the four individual analysis jobs in .forgejo/workflows/ci.yml.
  • The total CI execution time for a typical PR is measurably reduced.
  • All static analysis checks continue to run and report status correctly.
  • 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**: `chore/ci-combine-static-analysis-jobs` - **Commit Message**: `chore(ci): combine static analysis jobs to reduce pipeline overhead` - **Milestone**: v3.2.0 - **Parent Epic**: #1678 ## Background and Context The CI pipeline currently runs linting, type checking, security scanning, and quality checks in four separate jobs (`lint`, `typecheck`, `security`, `quality`). Each of these jobs repeats the same environment setup steps (installing Node.js, checking out code, installing uv/nox, caching packages), which adds significant overhead to the total execution time. By combining these four jobs into a single `static-analysis` job with parallel steps, we can reduce the cumulative setup time and speed up the CI cycle. ## Expected Behavior A single `static-analysis` job replaces the four individual analysis jobs, running all four checks in parallel within that job. The `status-check` job is updated to depend on `static-analysis`. Total CI execution time for a typical PR is measurably reduced. ## Acceptance Criteria - A single `static-analysis` job exists in `.forgejo/workflows/ci.yml` in place of the four individual jobs. - All four analysis checks (lint, typecheck, security, quality) continue to run and report status correctly. - The `status-check` job correctly depends on `static-analysis`. - Total CI execution time for a typical PR is measurably reduced compared to the baseline. ## Subtasks - [ ] Modify `.forgejo/workflows/ci.yml` to merge the `lint`, `typecheck`, `security`, and `quality` jobs into a single new job named `static-analysis`. - [ ] Configure the new job to run the four analysis steps in parallel within the job. - [ ] Ensure the `status-check` job is updated to depend on the new `static-analysis` job. - [ ] Verify all static analysis checks continue to run and report status correctly in CI. - [ ] Run `nox` (all default sessions), fix any errors. ## Definition of Done - [ ] All subtasks above are completed and checked off. - [ ] A single `static-analysis` job replaces the four individual analysis jobs in `.forgejo/workflows/ci.yml`. - [ ] The total CI execution time for a typical PR is measurably reduced. - [ ] All static analysis checks continue to run and report status correctly. - [ ] 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.2.0 milestone 2026-04-03 14:48:13 +00:00
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: Medium (confirmed)
  • Milestone: v3.2.0 (already assigned)
  • MoSCoW: Could Have — Combining static analysis jobs is a CI optimization. Not blocking any deliverables.
  • Parent Epic: #1678 (confirmed correct)

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

Issue triaged by project owner: - **State**: Verified - **Priority**: Medium (confirmed) - **Milestone**: v3.2.0 (already assigned) - **MoSCoW**: Could Have — Combining static analysis jobs is a CI optimization. Not blocking any deliverables. - **Parent Epic**: #1678 (confirmed correct) --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
freemo removed this from the v3.2.0 milestone 2026-04-06 22:30:32 +00:00
Author
Owner

This issue has been moved to the backlog as part of an aggressive grooming of the v3.2.0 milestone. It has been deemed non-critical for the minimal viability of the milestone and will be addressed in a future release.

This issue has been moved to the backlog as part of an aggressive grooming of the v3.2.0 milestone. It has been deemed non-critical for the minimal viability of the milestone and will be addressed in a future release.
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#2337
No description provided.