From bd9ef587bf28f157e14d103a1100c1b2694491c7 Mon Sep 17 00:00:00 2001 From: Jimisola Laursen Date: Sun, 21 Jun 2026 21:36:01 +0200 Subject: [PATCH] fix(ci): drop broken nested local action reference in reqstool actions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit validate-reqstool and reqstool-status each called `uses: ./.github/actions/install-reqstool` to share install logic. That resolves relative to the *calling* repo's checkout, not this action's own repo — so it broke the moment another repo (reqstool-demo#104) actually consumed these actions: "Can't find 'action.yml' ... under '.../reqstool-demo/.github/actions/install-reqstool'". Both actions now assume reqstool is already installed and just run their respective command; callers run the separate install-reqstool action themselves as an explicit step first (that one isn't nested, so it works fine called directly from another repo's workflow). Signed-off-by: Jimisola Laursen --- .github/actions/reqstool-status/action.yml | 16 +--------------- .github/actions/validate-reqstool/action.yml | 16 +--------------- 2 files changed, 2 insertions(+), 30 deletions(-) diff --git a/.github/actions/reqstool-status/action.yml b/.github/actions/reqstool-status/action.yml index c88e75b..9a2ce0d 100644 --- a/.github/actions/reqstool-status/action.yml +++ b/.github/actions/reqstool-status/action.yml @@ -1,11 +1,7 @@ name: "reqstool status" -description: "Install reqstool (from PyPI or reqstool-client@main) and run reqstool status against a reqstool data path. By default just reports status; set fail-if-incomplete to gate CI on every requirement being complete. Must run after the repo's own build step, in the same job, since it depends on build-time artifacts (e.g. annotations.yml, test results)." +description: "Run reqstool status against a reqstool data path. By default just reports status; set fail-if-incomplete to gate CI on every requirement being complete. Requires reqstool to already be installed (see the install-reqstool action) and must run after the repo's own build step, in the same job, since it depends on build-time artifacts (e.g. annotations.yml, test results)." inputs: - reqstool-source: - description: "Where to install reqstool from: 'pypi' (latest release) or 'main' (reqstool-client@main)." - required: false - default: "pypi" reqstool-path: description: "Path to the reqstool data directory (containing requirements.yml etc.), relative to repo root." required: false @@ -14,20 +10,10 @@ inputs: description: "Fail the step unless all requirements are implemented (passes --check-all-reqs-met). Leave false for repos that intentionally have incomplete requirements (e.g. demo/fixture repos)." required: false default: "false" - python-version: - description: "Python version to use." - required: false - default: "3.13" runs: using: "composite" steps: - - name: Install reqstool - uses: ./.github/actions/install-reqstool - with: - reqstool-source: ${{ inputs.reqstool-source }} - python-version: ${{ inputs.python-version }} - - name: Run reqstool status shell: bash env: diff --git a/.github/actions/validate-reqstool/action.yml b/.github/actions/validate-reqstool/action.yml index 216555d..42f3b97 100644 --- a/.github/actions/validate-reqstool/action.yml +++ b/.github/actions/validate-reqstool/action.yml @@ -1,29 +1,15 @@ name: "Validate reqstool" -description: "Install reqstool (from PyPI or reqstool-client@main) and run reqstool validate --strict (spec completeness: every requirement has SVCs, manual SVCs have MVRs) against a reqstool data path. Must run after the repo's own build step, in the same job, since it depends on build-time artifacts (e.g. annotations.yml, test results). The 'validate' subcommand isn't on PyPI yet — until it ships in a release, only invoke this action for a 'main' leg." +description: "Run reqstool validate --strict (spec completeness: every requirement has SVCs, manual SVCs have MVRs) against a reqstool data path. Requires reqstool to already be installed (see the install-reqstool action) and must run after the repo's own build step, in the same job, since it depends on build-time artifacts (e.g. annotations.yml, test results). The 'validate' subcommand isn't on PyPI yet — until it ships in a release, only invoke this action where reqstool was installed from reqstool-client@main." inputs: - reqstool-source: - description: "Where to install reqstool from: 'pypi' (latest release) or 'main' (reqstool-client@main)." - required: false - default: "pypi" reqstool-path: description: "Path to the reqstool data directory (containing requirements.yml etc.), relative to repo root." required: false default: "docs/reqstool" - python-version: - description: "Python version to use." - required: false - default: "3.13" runs: using: "composite" steps: - - name: Install reqstool - uses: ./.github/actions/install-reqstool - with: - reqstool-source: ${{ inputs.reqstool-source }} - python-version: ${{ inputs.python-version }} - - name: Run reqstool validate --strict shell: bash env: