CI/CD (main - production deployment) workflow (carpentries/amy)
The CI/CD (main - production deployment) workflow from carpentries/amy, explained and optimized by Latchkey.
A
CI health: A - excellent
Run this on Latchkey for self-healing, caching, and up to 58% lower cost.
Grade your own workflow free or run it on Latchkey →What it does
This is the CI/CD (main - production deployment) workflow from the carpentries/amy 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)
# CI/CD for main branch - deploy to production
name: CI/CD (main - production deployment)
on:
workflow_dispatch
jobs:
accessibility:
uses: ./.github/workflows/incl_accessibility.yml
lint:
uses: ./.github/workflows/incl_linter.yml
test:
uses: ./.github/workflows/incl_test.yml
needs: lint
build_deploy:
uses: ./.github/workflows/incl_build_and_deploy_production.yml
needs: test
The same workflow, on Latchkey
Removes redundant runs and caps runaway jobs. Added and changed lines are highlighted.
# CI/CD for main branch - deploy to production name: CI/CD (main - production deployment) on: workflow_dispatch jobs: accessibility: timeout-minutes: 30 uses: ./.github/workflows/incl_accessibility.yml lint: timeout-minutes: 30 uses: ./.github/workflows/incl_linter.yml test: timeout-minutes: 30 uses: ./.github/workflows/incl_test.yml needs: lint build_deploy: timeout-minutes: 30 uses: ./.github/workflows/incl_build_and_deploy_production.yml needs: test
What changed
- Add a job timeout so a hung step cannot burn hours of runner time.
This workflow runs 4 jobs per trigger. On Latchkey the same minutes cost up to 58% less than GitHub-hosted, with zero queue time.