From c47b51cd6edb5c00ba097aa69a963c5e651dcec9 Mon Sep 17 00:00:00 2001 From: Rootiest Date: Fri, 21 Aug 2026 00:58:30 -0400 Subject: [PATCH] feat(ci): allow triggering test or build-docs individually workflow_dispatch already ran the whole pipeline manually, but there was no way to fire just one job (e.g. re-run docs generation without re-running the fish test suite) the way the old standalone build-docs.yml let you. Add a job choice input (all/test/build-docs, defaulting to all) and gate each job on it via `if:`, while leaving the push-triggered path's needs: test gating untouched. --- .github/workflows/ci.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0483788..9a3b9b2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,9 +17,20 @@ on: - "integrations/**" - "tests/**" workflow_dispatch: + inputs: + job: + description: "Job to run" + required: false + default: all + type: choice + options: + - all + - test + - build-docs jobs: test: + if: github.event_name != 'workflow_dispatch' || github.event.inputs.job == 'all' || github.event.inputs.job == 'test' runs-on: racknerd-mini steps: - name: Checkout @@ -40,6 +51,11 @@ jobs: build-docs: needs: test + if: | + always() && + (github.event.inputs.job == 'build-docs' || + ((github.event_name != 'workflow_dispatch' || github.event.inputs.job == 'all') && + needs.test.result == 'success')) runs-on: racknerd-mini steps: - name: Checkout