Skip to content
Latchkey

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.

Grade your own workflow free or run it on Latchkey →
Source: lowlighter/metrics.github/workflows/branches.ymlLicense MITView source

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

This workflow runs 1 job per trigger. On Latchkey the same minutes cost up to 58% less than GitHub-hosted, with zero queue time.

Actions used in this workflow