Skip to content

ci(workflows): run the small shared jobs on the Docker-less ARC runner - #373

Merged
JesperTerkelsen merged 1 commit into
mainfrom
ci/small-jobs-nodocker
Oct 6, 2026
Merged

JesperTerkelsen merged 1 commit into
mainfrom
ci/small-jobs-nodocker

Conversation

@JesperTerkelsen

Copy link
Copy Markdown
Member

What

Moves 21 small jobs in the shared workflows from arc-arm64-2cpu-4gb to the new Docker-less arc-arm64-1cpu-2gb-nodocker (https://github.com/monta-app/kube-manifests/pull/7784). Public repos and opt-outs keep their existing fallback (ubuntu-24.04-arm / linux-arm64); only the ARC label in each runs-on changes.

Workflow Job
component-build, component-test-kotlin, component-test-python, pull-request-bun, pull-request-kotlin, pull-request-react, sonar-cloud setup (runner converter, PR title check)
pull-request-kotlin check-migration-order
component-deploy, component-deploy-v2 deploy (manifest bump + ArgoCD wait)
create-release-tag create-tag
deploy-kotlin, deploy-kotlin-v2 create-changelog
deploy-generic, deploy-generic-v2, deploy-python slack-token-deprecation
track-pending-release, pr-digest, allow-deploys, block-deploys their single job
rollback push-manifest

Why

These run in every PR and deploy that goes through the shared workflows, typically for seconds, and use neither Docker nor more than a fraction of a CPU. The 2-CPU set reserves 2.25 CPU and 5 GiB per runner (3 per node); the Docker-less set packs ~14 per node.

Checked: no Docker in any moved job

No container:, services: or Docker CLI, and every action they use runs without Docker: actions/checkout, ad-m/github-push-action (node24), monta-app/changelog-cli-action (composite; downloads a binary), and this repo's pr-title-check, check-migration-order, argocd-wait-sync and runner-size-converter (composite, no Docker inside). The deploy job's manifest checkout is shallow (fetch-depth default 1).

Stay on arc-arm64-2cpu-4gb, because they need Docker or more room:

  • rollback slackNotification: rtCamp/action-slack-notify runs a docker:// image.
  • pull-request.yml lint-workflows: reviewdog/action-actionlint is a Docker action (this repo is public, so it uses ubuntu-24.04-arm anyway).
  • publish-tech-docs: a docs build.
  • semgrep-security-scan: arc-arm64-4cpu-12gb.

actionlint.yaml gains the label, and CLAUDE.md notes that these jobs must stay Docker-free.

QA

  • actionlint passes.
  • After merge, the first Kotlin PR and deploy in a private repo should show Setup, check-migration-order, deploy, release tag and changelog on arc-arm64-1cpu-2gb-nodocker.

nojira

🤖 Generated with Claude Code

Setup/converter, migration-order, deploy, release tag, changelog,
pending-release, PR digest, deploy block/allow and rollback's
push-manifest use neither Docker nor more than a fraction of a CPU, so
they move from arc-arm64-2cpu-4gb to arc-arm64-1cpu-2gb-nodocker, which
packs ~14 runners per node instead of 3.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@JesperTerkelsen
JesperTerkelsen marked this pull request as ready for review October 6, 2026 07:25
@JesperTerkelsen
JesperTerkelsen requested a review from a team as a code owner October 6, 2026 07:25
@JesperTerkelsen
JesperTerkelsen requested review from tobias0106 and removed request for a team October 6, 2026 07:25
@JesperTerkelsen
JesperTerkelsen merged commit fc44f04 into main Oct 6, 2026
2 checks passed
@JesperTerkelsen
JesperTerkelsen deleted the ci/small-jobs-nodocker branch October 6, 2026 07:32
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