Skip to content
Latchkey

Release workflow (AlexandrErohin/home-assistant-flightradar24)

The Release workflow from AlexandrErohin/home-assistant-flightradar24, explained and optimized by Latchkey.

B

CI health: B - good

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: AlexandrErohin/home-assistant-flightradar24.github/workflows/release.ymlLicense MITView source

What it does

This is the Release workflow from the AlexandrErohin/home-assistant-flightradar24 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:
  release:
    types:
      - "published"

permissions: {}

jobs:
  release:
    name: "Release"
    runs-on: "ubuntu-latest"
    permissions:
      contents: write
    steps:
      - name: "Checkout the repository"
        uses: "actions/checkout@v4"

      - name: "Adjust version number"
        shell: "bash"
        run: |
          yq -i -o json '.version="${{ github.event.release.tag_name }}"' \
            "${{ github.workspace }}/custom_components/flightradar24/manifest.json"

      - name: "ZIP the integration directory"
        shell: "bash"
        run: |
          cd "${{ github.workspace }}/custom_components/flightradar24"
          zip flightradar24.zip -r ./

      - name: "Upload the ZIP file to the release"
        uses: softprops/action-gh-release@v2
        with:
          files: ${{ github.workspace }}/custom_components/flightradar24/flightradar24.zip

The same workflow, on Latchkey

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

name: "Release"
 
on:
  release:
    types:
      - "published"
 
permissions: {}
 
jobs:
  release:
    timeout-minutes: 30
    name: "Release"
    runs-on: "ubuntu-latest"
    permissions:
      contents: write
    steps:
      - name: "Checkout the repository"
        uses: "actions/checkout@v4"
 
      - name: "Adjust version number"
        shell: "bash"
        run: |
          yq -i -o json '.version="${{ github.event.release.tag_name }}"' \
            "${{ github.workspace }}/custom_components/flightradar24/manifest.json"
 
      - name: "ZIP the integration directory"
        shell: "bash"
        run: |
          cd "${{ github.workspace }}/custom_components/flightradar24"
          zip flightradar24.zip -r ./
 
      - name: "Upload the ZIP file to the release"
        uses: softprops/action-gh-release@v2
        with:
          files: ${{ github.workspace }}/custom_components/flightradar24/flightradar24.zip
 

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

Actions used in this workflow