Skip to content

feat(reusable-visual-tests, update-snapshots): resolve runner via resolve-runner.yml#43

Merged
b00ste merged 2 commits into
mainfrom
feat/visual-tests-resolve-runner
May 25, 2026
Merged

feat(reusable-visual-tests, update-snapshots): resolve runner via resolve-runner.yml#43
b00ste merged 2 commits into
mainfrom
feat/visual-tests-resolve-runner

Conversation

@b00ste
Copy link
Copy Markdown
Contributor

@b00ste b00ste commented May 25, 2026

Summary

  • Both visual-tests workflows hardcoded runs-on: ubuntu-latest, blocking callers from moving these jobs to self-hosted runners.
  • Route reusable-visual-tests.yml and update-snapshots.yml through resolve-runner.yml@v2.0.0 so they honor caller-repo vars.RUNNER_HEAVY — same mechanism ci-build-lint-test.yml / ci-quality.yml already use.
  • After release, setting repo var RUNNER_HEAVY on a caller (e.g. house-of-slabs) moves CI + visual jobs to self-hosted in lockstep.

Behavior note

Org-level callers (kethalia / chillwhales / phlox-labs) set vars.RUNNER_HEAVY=ubuntu-latest org-wide, so they're unaffected.

Standalone callers without that var will resolve to self-hosted (the resolve-runner default) and must pin RUNNER_HEAVY=ubuntu-latest to preserve prior behavior. Called out in the changeset.

Test plan

  • Changesets PR opens after merge with a minor bump for kethalia/workflows
  • After release, house-of-slabs Visual Tests run resolves runner via resolve-runner step (visible in run logs)
  • With vars.RUNNER_HEAVY unset, jobs continue to run on ubuntu-latest (kethalia org default)

…olve-runner.yml

Both visual-tests workflows hardcoded runs-on: ubuntu-latest, blocking
callers from moving these jobs to self-hosted runners. Route them through
resolve-runner.yml@v2.0.0 so they honor caller-repo vars.RUNNER_HEAVY
(same mechanism CI build/lint/test already uses).
Copilot AI review requested due to automatic review settings May 25, 2026 05:54
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the visual testing reusable workflows to resolve runner labels through the existing resolve-runner.yml mechanism so caller repos/orgs can centrally control whether jobs run on GitHub-hosted or self-hosted runners via vars.RUNNER_HEAVY / vars.RUNNER_LIGHT.

Changes:

  • Added a resolve-runner reusable-workflow job to reusable-visual-tests.yml and wired visual-tests to use the resolved heavy runner label.
  • Added a resolve-runner reusable-workflow job to update-snapshots.yml and wired the dispatcher job to use the resolved light runner label.
  • Added a Changesets entry documenting the runner-resolution behavior change for consumers.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
.github/workflows/update-snapshots.yml Adds resolve-runner and switches the dispatcher to runs-on: ${{ needs.resolve-runner.outputs.light }}.
.github/workflows/reusable-visual-tests.yml Adds resolve-runner and switches the Playwright suite job to runs-on: ${{ needs.resolve-runner.outputs.heavy }}.
.changeset/visual-tests-resolve-runner.md Documents the new runner-resolution behavior and consumer implications.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .changeset/visual-tests-resolve-runner.md
Both jobs now use resolve-runner heavy output. Bumped changeset to major
since standalone consumers without vars.RUNNER_HEAVY will now resolve to
self-hosted instead of ubuntu-latest.
@b00ste b00ste merged commit c9a73ed into main May 25, 2026
1 check passed
@b00ste b00ste deleted the feat/visual-tests-resolve-runner branch May 25, 2026 06:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants