Skip to content

ci: cut Actions minutes (path filters, pip cache, grouped Renovate) - #26

Merged
jourlez merged 1 commit into
mainfrom
ci/actions-minutes-optimization
Oct 22, 2026
Merged

jourlez merged 1 commit into
mainfrom
ci/actions-minutes-optimization

Conversation

@jourlez

@jourlez jourlez commented Oct 22, 2026

Copy link
Copy Markdown
Contributor

Why

Every Actions minute counts against the org's 2000 free minutes. Docs used 130 Linux minutes in October across 4 workflows.

Measured evidence (run list 2026-09-02..10-19)

  • Docs Independence Check ran on PRs and on every push to dev, which mirrors main: 5 push runs repeated checks that had already passed on the PR.
  • Docs Build Check (21 PR runs) and Docs Independence Check (15 PR runs) have no path filter, so a README or plan-file edit runs the Sphinx build, link check, sample typecheck and Vale.
  • Deploy Documentation ran on every push to main (11 push runs, 51 wall min), including edits that do not change a published page. Its verify_live_job polls for up to 15 min on a runner.
  • Both pr_check_workflow.yml jobs and the deploy job installed the Sphinx stack with no pip cache.
  • sdk_drift.yml is a weekly cron (about 4 runs a month, about 1 to 2 min each): kept, the frequency is proportionate to npm publish cadence.
  • No branch protection or ruleset exists on main, so path filters cannot leave a required check pending.

Changes

  • docs_checks.yml: drop the push: dev trigger; PR runs only when docs/**, .vale* or the workflow changes.
  • pr_check_workflow.yml: same path filter; cache: pip keyed on docs/requirements.txt for both jobs.
  • github_pages_workflow.yml: push-to-main deploys only when docs/** or the workflow changes; workflow_dispatch still deploys on demand; pip cache.
  • renovate.json: base branch main confirmed correct (also the default branch). Already weekly on Mondays; added weekly groups for GitHub Actions, the Sphinx toolchain and docs/_samples npm packages. No lockfiles exist here, so lockfile maintenance does not apply.

Expected savings

Small, because this repo is small: an estimated 15 to 25 Linux minutes per month (skipped runs on non-docs edits, no dev push duplicates, faster installs, fewer Renovate PR runs). Not measurable yet on this sample size.

Verification

actionlint and yamllint clean on all four workflows, renovate-config-validator passes, act -n dry-run of pr_check_workflow.yml succeeds for both jobs.

@jourlez
jourlez merged commit e91703d into main Oct 22, 2026
5 checks passed
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