fix(ci): correct benchmark-regression job event trigger from push to pull_request #9870

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

Metadata

  • Commit message: fix(ci): correct benchmark-regression job event trigger from push to pull_request
  • Branch: fix/ci-benchmark-regression-event-trigger

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 CI job was intended to run only on pull requests into master. However, the workflow file's on: trigger is configured exclusively for push events, while the job's conditional guard checks for pull_request — creating a permanent mismatch that silently prevents the job from ever executing.

Expected Behavior

The benchmark-regression job should execute when a pull request targets the master branch. Either:

  • The workflow on: trigger should include pull_request events targeting master, or
  • The job-level if: condition should be removed/corrected to match the actual push trigger semantics.

Actual Behavior

The benchmark-regression job never executes. The workflow only fires on push events, so forgejo.event_name is always 'push'. The job's guard condition:

if: forgejo.event_name == 'pull_request'

evaluates to false on every run, silently skipping the job with no error or warning.

Steps to Reproduce

  1. Open .forgejo/workflows/ci.yml (or equivalent benchmark workflow file) in the repository.
  2. Observe the top-level on: block — it only contains push triggers for master and develop.
  3. Observe the benchmark-regression job's if: condition — it checks forgejo.event_name == 'pull_request'.
  4. Merge any PR to master or push directly to master.
  5. Observe that the benchmark-regression job is skipped in the workflow run.

Acceptance Criteria

  • The benchmark-regression job executes on the intended trigger (pull requests targeting master).
  • The workflow on: trigger and the job-level if: condition are consistent with each other.
  • A test PR or push confirms the job runs (or is correctly skipped) as designed.
  • No other jobs in the workflow are inadvertently affected by the fix.

Subtasks

  • Identify the intended trigger semantics (should benchmark run on PR, on push, or both?).
  • Update the workflow on: block to include pull_request targeting master if PR-only execution is desired.
  • Alternatively, remove or correct the if: condition if push-based execution is acceptable.
  • Validate the fix by opening a test PR or triggering a push and confirming the job runs.
  • Update any related documentation or workflow comments.

Definition of Done

This issue should be closed when:

  • The benchmark-regression job executes as intended on the correct event type.
  • The workflow on: trigger and job if: condition are aligned and consistent.
  • CI confirms the job runs successfully on the target event.
  • 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): correct benchmark-regression job event trigger from push to pull_request` - **Branch:** `fix/ci-benchmark-regression-event-trigger` ## 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` CI job was intended to run only on pull requests into master. However, the workflow file's `on:` trigger is configured exclusively for `push` events, while the job's conditional guard checks for `pull_request` — creating a permanent mismatch that silently prevents the job from ever executing. ## Expected Behavior The `benchmark-regression` job should execute when a pull request targets the `master` branch. Either: - The workflow `on:` trigger should include `pull_request` events targeting `master`, **or** - The job-level `if:` condition should be removed/corrected to match the actual `push` trigger semantics. ## Actual Behavior The `benchmark-regression` job **never executes**. The workflow only fires on `push` events, so `forgejo.event_name` is always `'push'`. The job's guard condition: ```yaml if: forgejo.event_name == 'pull_request' ``` evaluates to `false` on every run, silently skipping the job with no error or warning. ## Steps to Reproduce 1. Open `.forgejo/workflows/ci.yml` (or equivalent benchmark workflow file) in the repository. 2. Observe the top-level `on:` block — it only contains `push` triggers for `master` and `develop`. 3. Observe the `benchmark-regression` job's `if:` condition — it checks `forgejo.event_name == 'pull_request'`. 4. Merge any PR to master or push directly to master. 5. Observe that the `benchmark-regression` job is skipped in the workflow run. ## Acceptance Criteria - [ ] The `benchmark-regression` job executes on the intended trigger (pull requests targeting `master`). - [ ] The workflow `on:` trigger and the job-level `if:` condition are consistent with each other. - [ ] A test PR or push confirms the job runs (or is correctly skipped) as designed. - [ ] No other jobs in the workflow are inadvertently affected by the fix. ## Subtasks - [ ] Identify the intended trigger semantics (should benchmark run on PR, on push, or both?). - [ ] Update the workflow `on:` block to include `pull_request` targeting `master` if PR-only execution is desired. - [ ] Alternatively, remove or correct the `if:` condition if push-based execution is acceptable. - [ ] Validate the fix by opening a test PR or triggering a push and confirming the job runs. - [ ] Update any related documentation or workflow comments. ## Definition of Done This issue should be closed when: - The `benchmark-regression` job executes as intended on the correct event type. - The workflow `on:` trigger and job `if:` condition are aligned and consistent. - CI confirms the job runs successfully on the target event. - 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): correct benchmark-regression job event trigger from push to pull_request
Type: Bug (CI)
Priority: Medium
MoSCoW: Must Have

Rationale

The benchmark-regression job has a permanent event/condition mismatch: the workflow fires on push events but the job's if: guard checks forgejo.event_name == 'pull_request', so the job is silently skipped on every run with no error. This means benchmark regression testing has never executed since PR #9004 was merged. Combined with the missing job dependencies bug (#9871), the benchmark workflow is completely non-functional.

Marking as Must Have — a CI job that silently never runs is a broken quality gate. This should be fixed together with #9871 to restore benchmark regression testing.


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

## 🔍 Triage Decision — Verified ✅ **Issue:** fix(ci): correct benchmark-regression job event trigger from push to pull_request **Type:** Bug (CI) **Priority:** Medium **MoSCoW:** Must Have ### Rationale The `benchmark-regression` job has a permanent event/condition mismatch: the workflow fires on `push` events but the job's `if:` guard checks `forgejo.event_name == 'pull_request'`, so the job is silently skipped on every run with no error. This means benchmark regression testing has never executed since PR #9004 was merged. Combined with the missing job dependencies bug (#9871), the benchmark workflow is completely non-functional. Marking as **Must Have** — a CI job that silently never runs is a broken quality gate. This should be fixed together with #9871 to restore benchmark regression testing. --- **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#9870
No description provided.