Skip to content
Latchkey

release workflow (haraka/Haraka)

The release workflow from haraka/Haraka, explained and optimized by Latchkey.

C

CI health: C - fair

Run this on Latchkey for self-healing, caching, and up to 58% lower cost.

Grade your own workflow free or run it on Latchkey →
Source: haraka/Haraka.github/workflows/release.ymlLicense MITView source

What it does

This is the release workflow from the haraka/Haraka 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: release

on:
  push:
    branches: [main, master]
    paths:
      - package.json

env:
  CI: true

jobs:
  release:
    uses: haraka/.github/.github/workflows/release.yml@master
    secrets: inherit
    permissions:
      contents: write

  publish:
    needs: release
    if: needs.release.outputs.changed == 'true'
    uses: haraka/.github/.github/workflows/publish.yml@master
    secrets: inherit
    permissions:
      contents: read
      packages: write
      id-token: write

The same workflow, on Latchkey

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

name: release
 
on:
  push:
    branches: [main, master]
    paths:
      - package.json
 
env:
  CI: true
 
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true
 
jobs:
  release:
    timeout-minutes: 30
    uses: haraka/.github/.github/workflows/release.yml@master
    secrets: inherit
    permissions:
      contents: write
 
  publish:
    timeout-minutes: 30
    needs: release
    if: needs.release.outputs.changed == 'true'
    uses: haraka/.github/.github/workflows/publish.yml@master
    secrets: inherit
    permissions:
      contents: read
      packages: write
      id-token: write
 

What changed

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 2 jobs per trigger. On Latchkey the same minutes cost up to 58% less than GitHub-hosted, with zero queue time.