Check automated branches workflow (lowlighter/metrics)
The Check automated branches workflow from lowlighter/metrics, explained and optimized by Latchkey.
A
CI health: A - excellent
Point runs-on at Latchkey and get job timeouts, self-healing for flaky steps, and up to 58% lower cost, applied automatically.
What it does
This is the Check automated branches workflow from the lowlighter/metrics repository, a real project running GitHub Actions. It is shown here with attribution under its MIT license.
Below, Latchkey shows a faster, safer version produced by its optimization engine.
The workflow
workflow (.yml)
name: Check automated branches
on:
pull_request_target:
branches:
- main
- latest
- examples
jobs:
notice:
name: Notice for automated branches
runs-on: ubuntu-latest
steps:
- name: Comment on pull request
uses: actions/github-script@v6
with:
script: |
const {issue:{number:issue_number}, repo:{owner, repo}} = context
github.rest.issues.createComment({issue_number, owner, repo, body:[
"Hello there 👋!",
"",
"It seems you have opened a pull request on either `main`, `latest` or `examples`.",
"These branches are fully-automated and do not accept human contributions.",
"",
"* To contribute to *metrics* code, open a pull request to `master` branch",
"* To contribute to *metrics* presets, open a pull request to `presets` branch",
"",
"Thanks for your cooperation 🦾!"
].join("\n")})
- name: Change base branch
run: exit 1
The same workflow, on Latchkey
Removes redundant runs and caps runaway jobs. Added and changed lines are highlighted.
name: Check automated branches on: pull_request_target: branches: - main - latest - examples jobs: notice: timeout-minutes: 30 name: Notice for automated branches runs-on: latchkey-small steps: - name: Comment on pull request uses: actions/github-script@v6 with: script: | const {issue:{number:issue_number}, repo:{owner, repo}} = context github.rest.issues.createComment({issue_number, owner, repo, body:[ "Hello there 👋!", "", "It seems you have opened a pull request on either `main`, `latest` or `examples`.", "These branches are fully-automated and do not accept human contributions.", "", "* To contribute to *metrics* code, open a pull request to `master` branch", "* To contribute to *metrics* presets, open a pull request to `presets` branch", "", "Thanks for your cooperation 🦾!" ].join("\n")}) - name: Change base branch run: exit 1
What changed
- Run on Latchkey managed runners with one line (
runs-on), which apply the fixes below automatically and self-heal transient failures. This example useslatchkey-small; pick the runner size that fits the job. - Add a job timeout so a hung step cannot burn hours of runner time.
This workflow runs 1 job per trigger. On Latchkey the same minutes cost up to 58% less than GitHub-hosted, with zero queue time.