Skip to content
Latchkey

API Surface Check workflow (composer/composer)

The API Surface Check workflow from composer/composer, 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: composer/composer.github/workflows/api-surface.ymlLicense MITView source

What it does

This is the API Surface Check workflow from the composer/composer 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: "API Surface Check"

# Minimal pull_request workflow whose only job is to fire workflow_run for the
# api-surface-comment workflow (which has pull-requests:write even on fork PRs
# and runs the actual analysis from trusted action code).

on:
  pull_request:
    paths-ignore:
      - 'doc/**'
      - 'tests/**'

permissions: {}

concurrency:
  group: api-surface-${{ github.event.pull_request.number }}
  cancel-in-progress: true

jobs:
  signal:
    name: 'Trigger check'
    runs-on: ubuntu-latest
    steps:
      - run: 'true'

The same workflow, on Latchkey

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

name: "API Surface Check"
 
# Minimal pull_request workflow whose only job is to fire workflow_run for the
# api-surface-comment workflow (which has pull-requests:write even on fork PRs
# and runs the actual analysis from trusted action code).
 
on:
  pull_request:
    paths-ignore:
      - 'doc/**'
      - 'tests/**'
 
permissions: {}
 
concurrency:
  group: api-surface-${{ github.event.pull_request.number }}
  cancel-in-progress: true
 
jobs:
  signal:
    timeout-minutes: 30
    name: 'Trigger check'
    runs-on: latchkey-small
    steps:
      - run: 'true'
 

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.