Files
hermes-agent/.github/workflows/install-e2e-skip.yml
T
ethernet 83d009ae82 ci(install-e2e): nest the graph per starting tag; skips live where the knowledge lives
Two structural changes to the combination fanout:

1. Tags become the OUTER axis, as a sub-graph per starting version:
   install-e2e.yml fans a plain matrix over the picked tags into a new
   per-tag reusable workflow (install-e2e-tag.yml), which runs the
   combination generator for that one tag and fans out one job per
   {os, install-method, update-method}. The Actions graph now reads
   'from vX -> windows: install -> update' per leg. Nothing is
   hardcoded in the workflows: the tag workflow calls the generator
   itself.

2. Native skips move to the point that owns the capability knowledge:
   macOS combos (no driving workflow exists) grey out in the tag
   workflow via install-e2e-skip.yml, untouched by the tag axis; ALL
   windows combos dispatch to install-e2e-windows-run.yml, which takes
   install-method/update-method inputs and natively skips the pairs
   its driver cannot run yet - so implementing a windows method is a
   change in the run workflow + driver only. The driver's -Route ids
   now match the generator's method ids verbatim.

Generator output shape, route filters, and all error paths re-verified
locally; all four workflows pass actionlint; driver re-parses clean
pure-ASCII.
2026-08-11 16:01:36 -04:00

37 lines
1.2 KiB
YAML

name: Install & Update E2E — unsupported combo (reusable)
# A declared {os, install-method, update-method} combination whose OS has
# no driving E2E workflow at all (today: every macOS combo). The per-tag
# caller (install-e2e-tag.yml) fans out one of these per such combo so the
# coverage gap is its own named, NATIVELY SKIPPED check (grey,
# conclusion=skipped, no runner) in the Checks tab.
#
# OSes WITH a driving workflow don't come here: their unimplemented method
# pairs natively skip inside that workflow, next to the driver that will
# implement them (see install-e2e-windows-run.yml).
#
# `implemented` stays at its false default until the OS has a real driving
# workflow; flipping happens by routing the combo to that workflow in
# generate-e2e-matrix.mjs, never by setting this input.
on:
workflow_call:
inputs:
implemented:
description: 'Never set this. Combos become implemented by moving into IMPLEMENTED in generate-e2e-matrix.mjs, not by flipping the flag.'
required: false
type: boolean
default: false
permissions:
contents: read
jobs:
todo:
name: not implemented yet
if: inputs.implemented
runs-on: ubuntu-latest
timeout-minutes: 1
steps:
- run: 'true'