Skip to content

refresh-visual-baselines workflow direct-push is rejected by the develop ruleset #3283

Description

@bpamiri

What happened

Dispatching Actions → Refresh visual baselines (sites=guides, ref develop) on 2026-07-06 completed the rebuild + screenshot + --update steps successfully, then failed at Commit and push refreshed baselines:

remote: error: GH013: Repository rule violations found for refs/heads/develop.
remote: - Changes must be made through a pull request.
remote: - 3 of 3 required status checks are expected.
! [remote rejected]     HEAD -> develop (push declined due to repository rule violations)

Run: https://github.com/wheels-dev/wheels/actions/runs/28789467591

The workflow predates the develop branch ruleset — it commits the refreshed PNG(s) and pushes HEAD -> $BRANCH directly, which the ruleset now forbids for develop.

Fix

Convert the final step to the PR + auto-merge pattern already used elsewhere in this repo: push the commit to a chore/refresh-baseline-<sites>-<run_id> branch, gh pr create against the target branch, and gh pr merge --auto --squash --delete-branch.

Two known gotchas from prior conversions of this exact kind:

  • The token needs pull-requests: write in addition to contents: write — missing scope fails silently.
  • The PR title must be a valid conventional commit ≤100 chars (the Validate Commit Messages required check lints PR titles).

Workaround used meanwhile

Manual PR with the CI-rendered screenshot (#3282). Note for anyone doing the same: baselines must be Linux/CI-rendered — a locally captured macOS screenshot diffs against CI font rendering everywhere.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions