Skip to content
Latchkey

Interoperability tests workflow (FiloSottile/age)

The Interoperability tests workflow from FiloSottile/age, explained and optimized by Latchkey.

C

CI health: C - fair

Point runs-on at Latchkey and get run de-duplication, 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: FiloSottile/age.github/workflows/interop.ymlLicense BSD-3-ClauseView source

What it does

This is the Interoperability tests workflow from the FiloSottile/age repository, a real project running GitHub Actions. It is shown here with attribution under its BSD-3-Clause license.

Below, Latchkey shows a faster, safer version produced by its optimization engine.

The workflow

workflow (.yml)
name: Interoperability tests
on: push
permissions:
  contents: read
jobs:
  trigger:
    name: Trigger
    runs-on: ubuntu-latest
    steps:
      - name: Trigger interoperability tests in str4d/rage
        run: >
          gh api repos/str4d/rage/dispatches
            --field event_type="age-interop-request"
            --field client_payload[sha]="$GITHUB_SHA"
        env:
          GITHUB_TOKEN: ${{ secrets.RAGE_INTEROP_ACCESS_TOKEN }}

The same workflow, on Latchkey

Removes redundant runs and caps runaway jobs. Added and changed lines are highlighted.

name: Interoperability tests
on: push
permissions:
  contents: read
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true
 
jobs:
  trigger:
    timeout-minutes: 30
    name: Trigger
    runs-on: latchkey-small
    steps:
      - name: Trigger interoperability tests in str4d/rage
        run: >
          gh api repos/str4d/rage/dispatches
            --field event_type="age-interop-request"
            --field client_payload[sha]="$GITHUB_SHA"
        env:
          GITHUB_TOKEN: ${{ secrets.RAGE_INTEROP_ACCESS_TOKEN }}
 

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.