From b050ffbc92b9eef73f618e3acaff253a142afced Mon Sep 17 00:00:00 2001 From: Patrick Lamber Date: Wed, 30 Sep 2026 19:36:43 +0200 Subject: [PATCH 1/3] Ignore actionlint's false positive for job.workflow_sha and job.workflow_repository. Closes #139 Co-Authored-By: Claude Sonnet 5.5 --- .github/workflows/workflow_lint.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/workflow_lint.yml b/.github/workflows/workflow_lint.yml index 88ce732..f8aa43b 100644 --- a/.github/workflows/workflow_lint.yml +++ b/.github/workflows/workflow_lint.yml @@ -44,4 +44,11 @@ jobs: - name: Check workflow files uses: docker://rhysd/actionlint:1.7.12 with: - args: -color + # job.workflow_sha and job.workflow_repository exist on GitHub's job context (added + # 2026-04-23) and pr_compliance.yml / pr_agent_review.yml rely on them deliberately, but + # actionlint 1.7.12 (2026-03-30), the latest release, predates them and reports them as + # undefined on every pull request. Ignore exactly those two messages -- anything else + # still fails. Remove this once a release that knows them is pinned above. + args: >- + -color + -ignore 'property "workflow_(sha|repository)" is not defined in object type \{check_run_id' From 866aeb49419c90074af99d2b4ee44ab591fd3524 Mon Sep 17 00:00:00 2001 From: Patrick Lamber Date: Wed, 30 Sep 2026 19:39:48 +0200 Subject: [PATCH 2/3] Pass the actionlint ignore pattern without spaces or quotes, which the docker action does not honour. Closes #139 Co-Authored-By: Claude Sonnet 5.5 --- .github/workflows/workflow_lint.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/workflow_lint.yml b/.github/workflows/workflow_lint.yml index f8aa43b..f48a7f3 100644 --- a/.github/workflows/workflow_lint.yml +++ b/.github/workflows/workflow_lint.yml @@ -49,6 +49,9 @@ jobs: # actionlint 1.7.12 (2026-03-30), the latest release, predates them and reports them as # undefined on every pull request. Ignore exactly those two messages -- anything else # still fails. Remove this once a release that knows them is pinned above. + # + # The action splits args on whitespace and does not honour quotes, so the pattern must + # contain neither: \s stands in for each space. args: >- -color - -ignore 'property "workflow_(sha|repository)" is not defined in object type \{check_run_id' + -ignore workflow_(sha|repository)\S*\sis\snot\sdefined\sin\sobject\stype\s\{check_run_id From 08b09445ba1461d510f6fa80519de8eb463b8558 Mon Sep 17 00:00:00 2001 From: Patrick Lamber Date: Wed, 30 Sep 2026 19:42:55 +0200 Subject: [PATCH 3/3] Anchor the actionlint ignore on the quoted property name and say what scopes it. Closes #139 Co-Authored-By: Claude Sonnet 5.5 --- .github/workflows/workflow_lint.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/workflow_lint.yml b/.github/workflows/workflow_lint.yml index f48a7f3..4004109 100644 --- a/.github/workflows/workflow_lint.yml +++ b/.github/workflows/workflow_lint.yml @@ -47,11 +47,12 @@ jobs: # job.workflow_sha and job.workflow_repository exist on GitHub's job context (added # 2026-04-23) and pr_compliance.yml / pr_agent_review.yml rely on them deliberately, but # actionlint 1.7.12 (2026-03-30), the latest release, predates them and reports them as - # undefined on every pull request. Ignore exactly those two messages -- anything else - # still fails. Remove this once a release that knows them is pinned above. + # undefined on every pull request. Ignore only those two properties on the job context + # (the {check_run_id tail is what scopes it there) -- anything else still fails. Remove + # this once a release that knows them is pinned above. # # The action splits args on whitespace and does not honour quotes, so the pattern must - # contain neither: \s stands in for each space. + # contain neither: \s stands in for each space and \x22 for each double quote. args: >- -color - -ignore workflow_(sha|repository)\S*\sis\snot\sdefined\sin\sobject\stype\s\{check_run_id + -ignore property\s\x22workflow_(sha|repository)\x22\sis\snot\sdefined\sin\sobject\stype\s\{check_run_id