Skip to content
Latchkey

Release xyOps workflow (pixlcore/xyops)

The Release xyOps workflow from pixlcore/xyops, explained and optimized by Latchkey.

C

CI health: C - fair

Point runs-on at Latchkey and get run de-duplication, job timeouts, self-healing for flaky steps, and up to 58% lower cost, applied automatically.

Grade your own workflow free or run it on Latchkey →
Source: pixlcore/xyops.github/workflows/release.ymlLicense BSD-3-ClauseView source

What it does

This is the Release xyOps workflow from the pixlcore/xyops repository, a real project running GitHub Actions. It is shown here with attribution under its BSD-3-Clause license.

Below, Latchkey shows a faster, safer version produced by its optimization engine.

The workflow

workflow (.yml)
name: Release xyOps

on:
  push:
    tags:
      - '*' # Trigger on any tag push

jobs:
  release:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          fetch-depth: 0  # Fetch all history for tags

      - name: Build Release Notes
        shell: bash
        run: |
          set -e
          TAG="${{ github.ref_name }}"
          PREV_TAG=$(git tag --sort=-v:refname | grep -Fxv "$TAG" | head -n 1 || true)
          {
            if [ -n "$PREV_TAG" ]; then
              git log "${PREV_TAG}..${TAG}" --no-merges --pretty="- [\`%h\`](https://github.com/${{ github.repository }}/commit/%H): %s" | grep -v CHANGELOG
              echo
              echo "**Full Diff**: https://github.com/${{ github.repository }}/compare/${PREV_TAG}...${TAG}"
            else
              git log "$TAG" --no-merges --pretty="- [\`%h\`](https://github.com/${{ github.repository }}/commit/%H): %s" | grep -v CHANGELOG
            fi
          } > RELEASE_NOTES.md
          echo "Generated release notes:"
          cat RELEASE_NOTES.md

      - name: Create GitHub Release
        id: create_release
        run: |
          # Create the release and capture the output
          RESPONSE=$(gh release create "${{ github.ref_name }}" \
            --title "Version ${{ github.ref_name }}" \
            --notes-file RELEASE_NOTES.md)
          echo "Release created successfully: $RESPONSE"
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

The same workflow, on Latchkey

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

name: Release xyOps
 
on:
  push:
    tags:
      - '*' # Trigger on any tag push
 
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true
 
jobs:
  release:
    timeout-minutes: 30
    runs-on: latchkey-small
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          fetch-depth: 0  # Fetch all history for tags
 
      - name: Build Release Notes
        shell: bash
        run: |
          set -e
          TAG="${{ github.ref_name }}"
          PREV_TAG=$(git tag --sort=-v:refname | grep -Fxv "$TAG" | head -n 1 || true)
          {
            if [ -n "$PREV_TAG" ]; then
              git log "${PREV_TAG}..${TAG}" --no-merges --pretty="- [\`%h\`](https://github.com/${{ github.repository }}/commit/%H): %s" | grep -v CHANGELOG
              echo
              echo "**Full Diff**: https://github.com/${{ github.repository }}/compare/${PREV_TAG}...${TAG}"
            else
              git log "$TAG" --no-merges --pretty="- [\`%h\`](https://github.com/${{ github.repository }}/commit/%H): %s" | grep -v CHANGELOG
            fi
          } > RELEASE_NOTES.md
          echo "Generated release notes:"
          cat RELEASE_NOTES.md
 
      - name: Create GitHub Release
        id: create_release
        run: |
          # Create the release and capture the output
          RESPONSE=$(gh release create "${{ github.ref_name }}" \
            --title "Version ${{ github.ref_name }}" \
            --notes-file RELEASE_NOTES.md)
          echo "Release created successfully: $RESPONSE"
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 

What changed

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