CI @northsh/pysigma-node workflow (northsh/detection.studio)
The CI @northsh/pysigma-node workflow from northsh/detection.studio, explained and optimized by Latchkey.
CI health: C - fair
Point runs-on at Latchkey and get run de-duplication, job timeouts, SHA-pinned actions, self-healing for flaky steps, and up to 58% lower cost, applied automatically.
What it does
This is the CI @northsh/pysigma-node workflow from the northsh/detection.studio 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
name: CI @northsh/pysigma-node
on:
push:
branches:
- main
paths:
- "packages/pysigma-node/**"
- ".github/workflows/ci-pysigma-node.yml"
pull_request:
paths:
- "packages/pysigma-node/**"
- ".github/workflows/ci-pysigma-node.yml"
permissions:
contents: read
jobs:
test:
name: Typecheck, build & test
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Bun
uses: oven-sh/setup-bun@v2
- name: Install dependencies
run: bun install
- name: Typecheck
run: bun run typecheck
working-directory: packages/pysigma-node
- name: Build package
run: bun run build
working-directory: packages/pysigma-node
# Includes the Pyodide-backed integration tests, which boot a real
# Pyodide instance and install pySigma from PyPI at runtime.
- name: Run tests
run: bun run test
working-directory: packages/pysigma-node
The same workflow, on Latchkey
Removes redundant runs and caps runaway jobs. Added and changed lines are highlighted.
name: CI @northsh/pysigma-node on: push: branches: - main paths: - "packages/pysigma-node/**" - ".github/workflows/ci-pysigma-node.yml" pull_request: paths: - "packages/pysigma-node/**" - ".github/workflows/ci-pysigma-node.yml" permissions: contents: read concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: test: timeout-minutes: 30 name: Typecheck, build & test runs-on: latchkey-small steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up Bun uses: oven-sh/setup-bun@v2 - name: Install dependencies run: bun install - name: Typecheck run: bun run typecheck working-directory: packages/pysigma-node - name: Build package run: bun run build working-directory: packages/pysigma-node # Includes the Pyodide-backed integration tests, which boot a real # Pyodide instance and install pySigma from PyPI at runtime. - name: Run tests run: bun run test working-directory: packages/pysigma-node
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. - 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 1 job per trigger. On Latchkey the same minutes cost up to 58% less than GitHub-hosted, with zero queue time.