fix(ci): add missing lint, typecheck, security, quality jobs to benchmark workflow #9871

Open
opened 2026-04-15 22:15:29 +00:00 by HAL9000 · 1 comment
Owner

Metadata

  • Commit message: fix(ci): add missing lint, typecheck, security, quality jobs to benchmark workflow
  • Branch: fix/ci-benchmark-missing-job-dependencies

Background and Context

This bug was introduced in PR #9004 ("Build: Added back the benchmark tests but made them so they only run after pull requests into master") which was merged directly to master on 2026-04-15.

The benchmark-regression job declares dependencies on four jobs (lint, typecheck, security, quality) via the needs: key, but none of those jobs are defined anywhere in the benchmark workflow file. This is a broken dependency reference that would cause an immediate workflow failure if the job ever ran.

Expected Behavior

All jobs referenced in the needs: array of benchmark-regression should exist within the same workflow file. The job should only run after its prerequisite jobs have completed successfully, ensuring code quality gates are passed before expensive benchmark comparisons are executed.

Actual Behavior

The benchmark-regression job declares:

needs: [lint, typecheck, security, quality]

However, none of the jobs lint, typecheck, security, or quality are defined in this workflow file. If the job's if: condition were ever satisfied (see related issue: event trigger mismatch), the workflow runner would immediately fail with an error such as:

Job 'benchmark-regression' depends on unknown job(s): lint, typecheck, security, quality

This means benchmark regression tests are doubly broken — even if the event trigger bug (tracked separately) were fixed, the workflow would still fail due to these missing job definitions.

Steps to Reproduce

  1. Open .forgejo/workflows/ci.yml (or equivalent benchmark workflow file) in the repository.
  2. Locate the benchmark-regression job definition.
  3. Observe the needs: [lint, typecheck, security, quality] declaration.
  4. Search the same workflow file for job definitions named lint, typecheck, security, and quality.
  5. Confirm none of those jobs are defined in the file.
  6. (If the event trigger bug were fixed) Trigger the workflow and observe an immediate failure due to unknown job dependencies.

Acceptance Criteria

  • All four jobs referenced in needs: (lint, typecheck, security, quality) are either defined in the benchmark workflow file or the needs: declaration is updated to reference jobs that actually exist.
  • The benchmark-regression job runs only after all prerequisite jobs complete successfully.
  • The workflow does not fail due to unknown job dependency references.
  • CI confirms the full workflow (including benchmark-regression) completes without dependency errors.

Subtasks

  • Determine whether lint, typecheck, security, and quality jobs should be added to this workflow file or whether they live in a separate workflow.
  • If they belong in this file: define each missing job with appropriate steps.
  • If they live elsewhere: update needs: to reference jobs that actually exist in this workflow, or restructure using workflow dependencies/triggers.
  • Coordinate with the fix for the event trigger mismatch bug (related issue) to ensure both fixes are applied together.
  • Validate the complete workflow runs end-to-end without errors.
  • Update any related documentation or workflow comments.

Definition of Done

This issue should be closed when:

  • All jobs referenced in benchmark-regression's needs: array are defined and functional within the workflow.
  • The benchmark-regression job executes after its prerequisites complete successfully.
  • No workflow failures occur due to unknown job dependency references.
  • The fix is merged to master (or the appropriate branch per workflow).

Automated by CleverAgents Bot
Supervisor: Human Liaison | Agent: human-liaison-pool-supervisor
Worker: [AUTO-HUMAN-2]

## Metadata - **Commit message:** `fix(ci): add missing lint, typecheck, security, quality jobs to benchmark workflow` - **Branch:** `fix/ci-benchmark-missing-job-dependencies` ## Background and Context This bug was introduced in PR #9004 ("Build: Added back the benchmark tests but made them so they only run after pull requests into master") which was merged directly to master on 2026-04-15. The `benchmark-regression` job declares dependencies on four jobs (`lint`, `typecheck`, `security`, `quality`) via the `needs:` key, but none of those jobs are defined anywhere in the benchmark workflow file. This is a broken dependency reference that would cause an immediate workflow failure if the job ever ran. ## Expected Behavior All jobs referenced in the `needs:` array of `benchmark-regression` should exist within the same workflow file. The job should only run after its prerequisite jobs have completed successfully, ensuring code quality gates are passed before expensive benchmark comparisons are executed. ## Actual Behavior The `benchmark-regression` job declares: ```yaml needs: [lint, typecheck, security, quality] ``` However, none of the jobs `lint`, `typecheck`, `security`, or `quality` are defined in this workflow file. If the job's `if:` condition were ever satisfied (see related issue: event trigger mismatch), the workflow runner would immediately fail with an error such as: > `Job 'benchmark-regression' depends on unknown job(s): lint, typecheck, security, quality` This means benchmark regression tests are doubly broken — even if the event trigger bug (tracked separately) were fixed, the workflow would still fail due to these missing job definitions. ## Steps to Reproduce 1. Open `.forgejo/workflows/ci.yml` (or equivalent benchmark workflow file) in the repository. 2. Locate the `benchmark-regression` job definition. 3. Observe the `needs: [lint, typecheck, security, quality]` declaration. 4. Search the same workflow file for job definitions named `lint`, `typecheck`, `security`, and `quality`. 5. Confirm none of those jobs are defined in the file. 6. (If the event trigger bug were fixed) Trigger the workflow and observe an immediate failure due to unknown job dependencies. ## Acceptance Criteria - [ ] All four jobs referenced in `needs:` (`lint`, `typecheck`, `security`, `quality`) are either defined in the benchmark workflow file or the `needs:` declaration is updated to reference jobs that actually exist. - [ ] The `benchmark-regression` job runs only after all prerequisite jobs complete successfully. - [ ] The workflow does not fail due to unknown job dependency references. - [ ] CI confirms the full workflow (including `benchmark-regression`) completes without dependency errors. ## Subtasks - [ ] Determine whether `lint`, `typecheck`, `security`, and `quality` jobs should be added to this workflow file or whether they live in a separate workflow. - [ ] If they belong in this file: define each missing job with appropriate steps. - [ ] If they live elsewhere: update `needs:` to reference jobs that actually exist in this workflow, or restructure using workflow dependencies/triggers. - [ ] Coordinate with the fix for the event trigger mismatch bug (related issue) to ensure both fixes are applied together. - [ ] Validate the complete workflow runs end-to-end without errors. - [ ] Update any related documentation or workflow comments. ## Definition of Done This issue should be closed when: - All jobs referenced in `benchmark-regression`'s `needs:` array are defined and functional within the workflow. - The `benchmark-regression` job executes after its prerequisites complete successfully. - No workflow failures occur due to unknown job dependency references. - The fix is merged to `master` (or the appropriate branch per workflow). --- **Automated by CleverAgents Bot** Supervisor: Human Liaison | Agent: human-liaison-pool-supervisor Worker: [AUTO-HUMAN-2]
Author
Owner

🔍 Triage Decision — Verified

Issue: fix(ci): add missing lint, typecheck, security, quality jobs to benchmark workflow
Type: Bug (CI)
Priority: Medium
MoSCoW: Must Have

Rationale

The benchmark-regression job references four jobs (lint, typecheck, security, quality) in its needs: array that do not exist in the workflow file. This is a broken workflow that would fail immediately if the event trigger bug (tracked in #9870) were fixed. Both bugs together mean benchmark regression testing is completely non-functional. Since benchmark regression is a quality gate, this must be fixed before the benchmark workflow can be considered operational.

Marking as Must Have — broken CI job definitions that prevent quality gates from running are correctness bugs that must be resolved. This should be fixed together with #9870.


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

## 🔍 Triage Decision — Verified ✅ **Issue:** fix(ci): add missing lint, typecheck, security, quality jobs to benchmark workflow **Type:** Bug (CI) **Priority:** Medium **MoSCoW:** Must Have ### Rationale The `benchmark-regression` job references four jobs (`lint`, `typecheck`, `security`, `quality`) in its `needs:` array that do not exist in the workflow file. This is a broken workflow that would fail immediately if the event trigger bug (tracked in #9870) were fixed. Both bugs together mean benchmark regression testing is completely non-functional. Since benchmark regression is a quality gate, this must be fixed before the benchmark workflow can be considered operational. Marking as **Must Have** — broken CI job definitions that prevent quality gates from running are correctness bugs that must be resolved. This should be fixed together with #9870. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner-pool-supervisor
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.

Dependencies

No dependencies set.

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