Skip to content
Latchkey

pytest workflow (StanfordAHA/garnet)

The pytest workflow from StanfordAHA/garnet, 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: StanfordAHA/garnet.github/workflows/pytest.ymlLicense BSD-3-ClauseView source

What it does

This is the pytest workflow from the StanfordAHA/garnet 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: pytest

on:
  # Every push
  push:

  # When requested manually
  workflow_dispatch:

  # Every morning at 3am -- how does it know which branch to run??
  schedule:
  - cron: '0 3 * * *'


jobs:
  build:

    runs-on: ubuntu-latest
    if: "!contains(github.event.head_commit.message, 'skip ci')"

    steps:
    - uses: actions/checkout@v6

    - name: Checkout submodules
      shell: bash
      run: |
        git submodule sync --recursive
        git submodule update --init --force --recursive --depth=1

    - name: Pull and run docker
      shell: bash
      run: |
        docker pull stanfordaha/garnet:latest
        docker run -d -it --name CONTAINER stanfordaha/garnet:latest bash
        docker exec CONTAINER /bin/bash -c "rm -rf /aha/garnet"
        docker exec CONTAINER /bin/bash -c "source /aha/bin/activate; pip install psutil"
        docker cp ../garnet CONTAINER:/aha/garnet

    - name: Run tests
      shell: bash
      run: |
        docker exec -i CONTAINER bash -c "/aha/garnet/.github/scripts/run_pytest.sh"

    - name: Upload Coverage
      shell: bash
      # CODECOV_TOKEN secret stored at https://github.com/StanfordAHA/garnet/settings/secrets/actions
      run: |
        docker exec -i CONTAINER bash -c "cd /aha/garnet/ && bash <(curl -s https://codecov.io/bash) -t ${{ secrets.CODECOV_TOKEN }}"

The same workflow, on Latchkey

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

name: pytest
 
on:
  # Every push
  push:
 
  # When requested manually
  workflow_dispatch:
 
  # Every morning at 3am -- how does it know which branch to run??
  schedule:
  - cron: '0 3 * * *'
 
 
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true
 
jobs:
  build:
    timeout-minutes: 30
 
    runs-on: latchkey-small
    if: "!contains(github.event.head_commit.message, 'skip ci')"
 
    steps:
    - uses: actions/checkout@v6
 
    - name: Checkout submodules
      shell: bash
      run: |
        git submodule sync --recursive
        git submodule update --init --force --recursive --depth=1
 
    - name: Pull and run docker
      shell: bash
      run: |
        docker pull stanfordaha/garnet:latest
        docker run -d -it --name CONTAINER stanfordaha/garnet:latest bash
        docker exec CONTAINER /bin/bash -c "rm -rf /aha/garnet"
        docker exec CONTAINER /bin/bash -c "source /aha/bin/activate; pip install psutil"
        docker cp ../garnet CONTAINER:/aha/garnet
 
    - name: Run tests
      shell: bash
      run: |
        docker exec -i CONTAINER bash -c "/aha/garnet/.github/scripts/run_pytest.sh"
 
    - name: Upload Coverage
      shell: bash
      # CODECOV_TOKEN secret stored at https://github.com/StanfordAHA/garnet/settings/secrets/actions
      run: |
        docker exec -i CONTAINER bash -c "cd /aha/garnet/ && bash <(curl -s https://codecov.io/bash) -t ${{ secrets.CODECOV_TOKEN }}"
 

What changed

What Latchkey heals here

This workflow has steps that commonly fail on transient issues (network, registries, flaky browsers). On Latchkey managed runners they are detected, retried, and self-healed instead of failing your build:

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