Minimal Labels workflow (argoproj-labs/hera)
The Minimal Labels workflow from argoproj-labs/hera, explained and optimized by Latchkey.
CI health: C - fair
Run this on Latchkey for self-healing, caching, and up to 58% lower cost.
Grade your own workflow free or run it on Latchkey →What it does
This is the Minimal Labels workflow from the argoproj-labs/hera repository, a real project running GitHub Actions. It is shown here with attribution under its Apache-2.0 license.
Below, Latchkey shows a faster, safer version produced by its optimization engine.
The workflow
name: Minimal Labels
on:
pull_request:
types:
- synchronize
- reopened
- labeled
- unlabeled
merge_group:
jobs:
semver:
name: Minimal Semver Labels
runs-on:
- ubuntu-latest
steps:
- uses: mheap/github-action-required-labels@v5
with:
count: 1
labels: semver:major, semver:minor, semver:patch, type:skip-changelog
mode: exactly
type:
name: Minimal Type Labels
runs-on:
- ubuntu-latest
steps:
- uses: mheap/github-action-required-labels@v5
with:
count: 1
labels: type:bug, type:dependency-upgrade, type:documentation, type:enhancement, type:question, type:task, type:informational, type:skip-changelog
mode: exactly
The same workflow, on Latchkey
Removes redundant runs and caps runaway jobs. Added and changed lines are highlighted.
name: Minimal Labels on: pull_request: types: - synchronize - reopened - labeled - unlabeled merge_group: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: semver: timeout-minutes: 30 name: Minimal Semver Labels runs-on: - ubuntu-latest steps: - uses: mheap/github-action-required-labels@v5 with: count: 1 labels: semver:major, semver:minor, semver:patch, type:skip-changelog mode: exactly type: timeout-minutes: 30 name: Minimal Type Labels runs-on: - ubuntu-latest steps: - uses: mheap/github-action-required-labels@v5 with: count: 1 labels: type:bug, type:dependency-upgrade, type:documentation, type:enhancement, type:question, type:task, type:informational, type:skip-changelog mode: exactly
What changed
- Cancel superseded runs when a branch or PR gets a newer push.
- Add a job timeout so a hung step cannot burn hours of runner time.
1 third-party action is referenced by a movable tag. Pin it to the commit SHA (Latchkey resolves and applies this automatically) so a repointed tag cannot change what runs.
This workflow runs 2 jobs per trigger. On Latchkey the same minutes cost up to 58% less than GitHub-hosted, with zero queue time.