<< All versions

Skill v1.0.4

currentAutomated scan100/100
meshtastic/meshtastic-android/ci-cost-control

3 files

──Details
PublishedOctober 1, 2026 at 03:07 PM
Content Hashsha256:89ced6f0686139ad...
Git SHA21031efe4244
Bump Typepatch
Compare with v1.0.3
──Files
Files (1 file, 1.8 KB)
SKILL.md1.8 KBactive
SKILL.md · 36 lines · 1.8 KB

version: "1.0.4" name: ci-cost-control description: Keep GitHub Actions spend down on Meshtastic-Android - avoid redundant runs, cancel superseded ones, and pick the narrowest CI path for the change. Use this whenever you are about to push repeatedly, re-run a workflow, touch .github/workflows/, or someone asks why CI is slow, queued or expensive.


Skill: CI Cost Control & Monitoring

Description

Guidelines for agents to minimize GitHub Actions compute waste and prevent redundant or failing CI runs.

Rules

1. Check Before You Kick

Before pushing code that triggers a CI workflow, you MUST check if a relevant run is already in progress:

bash
gh run list --branch $(git branch --show-current) --limit 5
  • If a run is pending/running for your current state, DO NOT push again unless you are fixing a specific CI failure.
  • Cancel redundant runs if your new push supersedes them: gh run cancel <run_id>.

2. Local First

NEVER use CI as a "remote compiler."

  • You must run ./gradlew spotlessApply spotlessCheck detekt detektTypeResolved assembleDebug test allTests locally before pushing.
  • If local tests fail, CI will fail. Do not waste the tokens or the compute.

3. Let the path filters do their job

pull-request.yml's check-changes filter already skips the heavy pipeline for docs-only changes, and merge-queue.yml skips it for docs-only merge-group entries (docs/**, *.md). Don't defeat that by bundling an unrelated source edit into a docs PR — a one-line README fix should not be paying for the multi-OS desktop matrix. If you add a new top-level module, add its <root>/** line to the android: filter, or the drift guard fails the PR.

Monitoring

Use gh run view <run_id> to inspect failures. Do not re-run a whole suite if only one shard failed due to a known flake; use gh run rerun --failed.

← v1.0.3All versions