Build All Packages workflow (linx-systems/clamui)
The Build All Packages workflow from linx-systems/clamui, 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 Build All Packages workflow from the linx-systems/clamui 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: Build All Packages
on:
workflow_dispatch:
inputs:
sign:
description: "Sign packages with GPG"
type: boolean
default: false
permissions:
contents: read
jobs:
build-deb:
uses: ./.github/workflows/build-deb.yml
with:
sign: ${{ inputs.sign }}
secrets: inherit
build-flatpak:
uses: ./.github/workflows/build-flatpak.yml
secrets: inherit
build-appimage:
uses: ./.github/workflows/build-appimage.yml
with:
sign: ${{ inputs.sign }}
secrets: inherit
The same workflow, on Latchkey
Removes redundant runs and caps runaway jobs. Added and changed lines are highlighted.
name: Build All Packages on: workflow_dispatch: inputs: sign: description: "Sign packages with GPG" type: boolean default: false permissions: contents: read jobs: build-deb: timeout-minutes: 30 uses: ./.github/workflows/build-deb.yml with: sign: ${{ inputs.sign }} secrets: inherit build-flatpak: timeout-minutes: 30 uses: ./.github/workflows/build-flatpak.yml secrets: inherit build-appimage: timeout-minutes: 30 uses: ./.github/workflows/build-appimage.yml with: sign: ${{ inputs.sign }} secrets: inherit
What changed
- Add a job timeout so a hung step cannot burn hours of runner time.
This workflow runs 3 jobs per trigger. On Latchkey the same minutes cost up to 58% less than GitHub-hosted, with zero queue time.