fix(ci): remove bogus actionyaml-lint package, fix shellcheck severity #3

Closed
rileyseaburg wants to merge 1 commit from fix/ci-lint-errors into main
rileyseaburg commented 2026-04-30 21:51:03 +00:00 (Migrated from github.com)

Problem

CI was failing on every PR with two errors:

  1. actionyaml-lint npm package does not exist (HTTP 404 from npm registry) — causing the action-yaml-lint job to exit with code 1
  2. shellcheck was failing on info-level notes (SC1091, SC2034, SC2155) that are expected in a composite action context

Changes

  • Remove npm install -g actionyaml-lint — the package does not exist on npm. The Python schema validation that follows it was already doing the real work. Enhanced it slightly to also validate step shells.
  • Fix shellcheck invocation: set severity threshold to warning and exclude known-safe codes:
    • SC1091: sourced files not found at lint time (expected — they exist at runtime)
    • SC2034: variables "appear unused" but are used externally or exported
    • SC2155: declare-and-assign cosmetic style warning

Test Plan

CI on this PR itself will validate the fix passes both linting jobs.

Impact

Unblocks PR #2 (fix/silent-partial-completion) which is a production fix for issue #505.

## Problem CI was failing on every PR with two errors: 1. **`actionyaml-lint`** npm package does not exist (HTTP 404 from npm registry) — causing the `action-yaml-lint` job to exit with code 1 2. **`shellcheck`** was failing on info-level notes (SC1091, SC2034, SC2155) that are expected in a composite action context ## Changes - **Remove `npm install -g actionyaml-lint`** — the package does not exist on npm. The Python schema validation that follows it was already doing the real work. Enhanced it slightly to also validate step shells. - **Fix shellcheck invocation**: set severity threshold to `warning` and exclude known-safe codes: - `SC1091`: sourced files not found at lint time (expected — they exist at runtime) - `SC2034`: variables "appear unused" but are used externally or exported - `SC2155`: declare-and-assign cosmetic style warning ## Test Plan CI on this PR itself will validate the fix passes both linting jobs. ## Impact Unblocks PR #2 (fix/silent-partial-completion) which is a production fix for issue #505.
gemini-code-assist[bot] commented 2026-04-30 21:51:08 +00:00 (Migrated from github.com)

Note

Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported.

> [!NOTE] > Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported.
copilot-pull-request-reviewer[bot] (Migrated from github.com) reviewed 2026-04-30 21:53:19 +00:00
copilot-pull-request-reviewer[bot] (Migrated from github.com) left a comment

Pull request overview

Fixes CI linting failures by removing a nonexistent npm dependency in the action-yaml-lint job and adjusting ShellCheck to ignore expected composite-action lint notes, while extending the Python action.yml validation to check step shells.

Changes:

  • Update ShellCheck invocation to fail only on warnings/errors and exclude SC1091/SC2034/SC2155.
  • Remove npm install -g actionyaml-lint (nonexistent package) and rely on Python schema validation.
  • Extend the Python validation to assert step shell values are supported.
Comments suppressed due to low confidence (1)

.github/workflows/test.yml:39

  • The Python passed to python3 -c is indented inside the quoted string (e.g., import yaml, sys starts with leading spaces). python -c treats leading indentation as an IndentationError: unexpected indent, so this validation step is likely to fail now that the earlier npm failure is removed. Consider switching to a heredoc (python3 - <<'PY' ... PY) or otherwise dedenting the code before execution.
          python3 -c "
          import yaml, sys
          with open('action.yml') as f:
              a = yaml.safe_load(f)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

## Pull request overview Fixes CI linting failures by removing a nonexistent npm dependency in the `action-yaml-lint` job and adjusting ShellCheck to ignore expected composite-action lint notes, while extending the Python action.yml validation to check step shells. **Changes:** - Update ShellCheck invocation to fail only on warnings/errors and exclude SC1091/SC2034/SC2155. - Remove `npm install -g actionyaml-lint` (nonexistent package) and rely on Python schema validation. - Extend the Python validation to assert step `shell` values are supported. <details> <summary>Comments suppressed due to low confidence (1)</summary> **.github/workflows/test.yml:39** * The Python passed to `python3 -c` is indented inside the quoted string (e.g., `import yaml, sys` starts with leading spaces). `python -c` treats leading indentation as an `IndentationError: unexpected indent`, so this validation step is likely to fail now that the earlier npm failure is removed. Consider switching to a heredoc (`python3 - <<'PY' ... PY`) or otherwise dedenting the code before execution. ``` python3 -c " import yaml, sys with open('action.yml') as f: a = yaml.safe_load(f) ``` </details> --- 💡 <a href="/rileyseaburg/codetether-action/new/main?filename=.github/instructions/*.instructions.md" class="Link--inTextBlock" target="_blank" rel="noopener noreferrer">Add Copilot custom instructions</a> for smarter, more guided reviews. <a href="https://docs.github.com/en/copilot/customizing-copilot/adding-repository-custom-instructions-for-github-copilot" class="Link--inTextBlock" target="_blank" rel="noopener noreferrer">Learn how to get started</a>.
copilot-pull-request-reviewer[bot] (Migrated from github.com) commented 2026-04-30 21:53:19 +00:00

The shell allowlist includes zsh, but composite actions don't support shell: zsh (supported shells are typically bash, sh, pwsh, and python). This validation could therefore permit an invalid action.yml configuration; consider removing zsh (and aligning the allowlist exactly to GitHub's supported shells for composite actions).

The shell allowlist includes `zsh`, but composite actions don't support `shell: zsh` (supported shells are typically `bash`, `sh`, `pwsh`, and `python`). This validation could therefore permit an invalid action.yml configuration; consider removing `zsh` (and aligning the allowlist exactly to GitHub's supported shells for composite actions).
rileyseaburg commented 2026-04-30 21:56:14 +00:00 (Migrated from github.com)

Superseded by PR #4 which includes the same CI fixes (removed actionyaml-lint, set shellcheck severity threshold with exclusions) along with the execution limit and checkpoint changes. PR #4 has been merged.

Superseded by PR #4 which includes the same CI fixes (removed actionyaml-lint, set shellcheck severity threshold with exclusions) along with the execution limit and checkpoint changes. PR #4 has been merged.

Pull request closed

Sign in to join this conversation.
No description provided.