Files
zeekayandHanzo Dev 096f96835b runs-on names a machine, not a purpose
The purpose-prefixed labels (hanzo-build-*, hanzo-deploy-*, hanzo-docs-build-*)
are retired in favour of the bare <os>-<arch> every runner already advertises.

They were not a capability, only a habit, and the habit cost builds: papers asked
for hanzo-build-linux-amd64, no online runner offered it, and two idle
linux-amd64 runners sat beside the queue while the build simply never ran. The
lux tree lost three days to lux-linux-amd64 the same way.

What a job is FOR is the workflow's name. runs-on is the machine it needs.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-15 11:36:52 -07:00

46 lines
1.4 KiB
YAML

name: Go
on:
push:
branches: [master, v9, 'v9.*']
pull_request:
branches: [master, v9, v9.7, v9.8, 'ndyakov/**', 'ofekshenawa/**', 'ce/**']
# The suite talks to real Redis containers, so a leg can fail on the
# environment rather than on the code. Being able to re-run it without an
# empty commit is the difference between confirming that and guessing.
workflow_dispatch:
permissions:
contents: read
jobs:
# Six legs, not fifteen. The pool here is a fixed set of runners shared by
# every org on this forge, so a matrix is a claim on capacity rather than a
# free dimension. Redis is sampled at the ends and the middle of the supported
# range, and Go at the two versions the module is expected to build under;
# a break specific to 8.6 or 8.2 is the kind this sampling can miss.
test-redis-ce:
name: test-redis-ce
runs-on: linux-amd64
strategy:
fail-fast: false
matrix:
redis-version:
- "8.8.x" # Redis CE 8.8
- "8.4.x" # Redis CE 8.4
- "8.0.x" # Redis CE 8.0
go-version:
- oldstable
- stable
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Run tests
uses: ./.github/actions/run-tests
with:
go-version: ${{matrix.go-version}}
redis-version: ${{ matrix.redis-version }}