From e0ba8b7dc7e1977fecb51d55f2a6b06c0a30b0bc Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 11 Jul 2026 04:15:19 +0000 Subject: [PATCH 1/2] Initial plan From 468848a601fd54160db76e4fc88a2b3eff94369e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 11 Jul 2026 04:17:36 +0000 Subject: [PATCH 2/2] Fix actionlint shellcheck ignore path for vendored dotnet script --- .github/workflows/actionlint.yml | 4 +++- tests/test_actionlint_workflow.py | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 tests/test_actionlint_workflow.py diff --git a/.github/workflows/actionlint.yml b/.github/workflows/actionlint.yml index c0774356d..1bec23997 100644 --- a/.github/workflows/actionlint.yml +++ b/.github/workflows/actionlint.yml @@ -65,7 +65,9 @@ jobs: version: ${{ env.SHELLCHECK_VERSION }} # Exclude vendored third-party scripts (dotnet-install.sh is the # Microsoft .NET installer) and generated agent-template directories. - ignore_paths: dotnet-install.sh my-agent-0b2avt + ignore_paths: >- + */dotnet-install.sh + my-agent-0b2avt # Only fail CI on error-severity findings; warnings in our own # scripts are reported but do not block the build. severity: error diff --git a/tests/test_actionlint_workflow.py b/tests/test_actionlint_workflow.py new file mode 100644 index 000000000..90e2dd8c2 --- /dev/null +++ b/tests/test_actionlint_workflow.py @@ -0,0 +1,20 @@ +from __future__ import annotations + +from pathlib import Path + +import pytest +import yaml + +pytestmark = pytest.mark.unit + + +def test_actionlint_shellcheck_ignores_vendored_dotnet_script() -> None: + workflow_path = Path(__file__).resolve().parents[1] / ".github" / "workflows" / "actionlint.yml" + workflow = yaml.safe_load(workflow_path.read_text(encoding="utf-8")) + + shellcheck_step = next( + step for step in workflow["jobs"]["actionlint"]["steps"] if step.get("name") == "Setup ShellCheck (pinned)" + ) + + ignore_paths = shellcheck_step["with"]["ignore_paths"].split() + assert "*/dotnet-install.sh" in ignore_paths