Skip to content
Latchkey

margo-ci workflow (DisposaBoy/GoSublime)

The margo-ci workflow from DisposaBoy/GoSublime, 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: DisposaBoy/GoSublime.github/workflows/gs-ci.ymlLicense MITView source

What it does

This is the margo-ci workflow from the DisposaBoy/GoSublime 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)
on: [push, pull_request]
name: margo-ci
jobs:
  margo-ci:
    strategy:
      matrix:
        go-version: [1.13.x, 1.14.x]
        platform: [ubuntu-latest, macos-latest, windows-latest]
    runs-on: ${{ matrix.platform }}
    steps:
    - name: Setup
      uses: actions/setup-go@v1
      with:
        go-version: ${{ matrix.go-version }}
    - name: Checkout
      uses: actions/checkout@v2
      with:
        path: gs
    - name: CI
      env:
        GOPATH: ${{ github.workspace }}/gs
      run: go install -v gosublime/cmd/margo

The same workflow, on Latchkey

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

on: [push, pull_request]
name: margo-ci
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true
 
jobs:
  margo-ci:
    timeout-minutes: 30
    strategy:
      matrix:
        go-version: [1.13.x, 1.14.x]
        platform: [ubuntu-latest, macos-latest, windows-latest]
    runs-on: ${{ matrix.platform }}
    steps:
    - name: Setup
      uses: actions/setup-go@v1
      with:
        go-version: ${{ matrix.go-version }}
    - name: Checkout
      uses: actions/checkout@v2
      with:
        path: gs
    - name: CI
      env:
        GOPATH: ${{ github.workspace }}/gs
      run: go install -v gosublime/cmd/margo
 

What changed

This workflow runs 1 job (6 with the matrix expanded) per trigger. On Latchkey the same minutes cost up to 58% less than GitHub-hosted, with zero queue time.

Actions used in this workflow