Skip to content

feat(toolkit): guided setup for any org or repository, and CI benchmark - #10

Merged
WhiteMuush merged 1 commit into
mainfrom
feat/setup-and-benchmark
Oct 1, 2026
Merged

WhiteMuush merged 1 commit into
mainfrom
feat/setup-and-benchmark

Conversation

@WhiteMuush

Copy link
Copy Markdown
Member

What

The toolkit is no longer tied to one account: anyone who gets it can register a runner with their own organization or repository.

  • make setup (menu entry 1) asks the four values of .env, picked from lists: resource group, HCP Terraform organization, runner target, PAT. It opens a prefilled token page, checks the token with GitHub, and for an organization offers to allow public repositories in the default runner group.
  • GITHUB_RUNNER_URL is an organization or a repository. Changing it moves the runner on the next make ansible-apply, without rebuilding the VM.
  • The runner name is unique per VM (vm-runner-<machine id>), so --replace never takes over someone else's runner in the same organization.
  • HCP organization, resource group and OIDC repository come from .env and the origin remote, no hardcoded values left.
  • Benchmark (menu entry 5, make bench-*): pick a repository and a run, show its logs or the total CI duration to the millisecond, read from the run log archive (the API only has seconds).

Verified

  • Organization target: runner registered with Melvin-Simplon, smoke test run on it.
  • Repository target: runner moved back to this repository, smoke test run on vm-runner-4a6b3637, 3.657s.
  • shellcheck, terraform fmt, terraform validate, 13 Terraform tests, Ansible syntax check.
  • Ansible move and target checks tested locally (same target, new target, invalid URLs, file with BOM).

Not verified

  • A full run by another person on another GitHub account.

Anyone who gets the toolkit can register a runner with their own
organization or repository, nothing is tied to one account anymore.

- make setup asks the four values of .env (resource group, HCP
  organization, runner target, PAT), picked from lists, opens a
  prefilled token page, checks the token with GitHub and offers to
  allow public repositories in an organization runner group
- GITHUB_RUNNER_URL selects an organization or a repository; changing
  it moves the runner on the next ansible-apply, no VM rebuild
- runner name is unique per VM, so --replace never takes over the
  runner of someone else in the same organization
- HCP organization, resource group and OIDC repository come from .env
  and the origin remote instead of hardcoded values
- benchmark menu: pick a repository and a run, show its logs or the
  total CI duration to the millisecond, read from the log archive
@WhiteMuush
WhiteMuush merged commit 3ed1a48 into main Oct 1, 2026
1 check passed
@WhiteMuush
WhiteMuush deleted the feat/setup-and-benchmark branch October 1, 2026 14:06
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.

1 participant