From 1a381cfa9189b0ba97680ffa28865e59b9d412d1 Mon Sep 17 00:00:00 2001 From: korya <148461+korya@users.noreply.github.com> Date: Wed, 2 Sep 2026 10:08:50 -0400 Subject: [PATCH] fix: Build the Action's argument list with if blocks `[ cond ] && args+=(...)` returns non-zero when the condition is false, which fails the whole step under bash -e if it is ever the last line. The Action survived only because a node command followed it. Same defect class the release workflow hit on its first run. Releases 1.0.3. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01RoMv1uCaJQPs44rFX5XWEm --- CHANGELOG.md | 14 +++++++++++++- action.yml | 14 +++++++++++--- dist/cli.js | 2 +- package.json | 2 +- src/main.ts | 2 +- 5 files changed, 27 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b1629e..443596b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,17 @@ The evidence behind each vendor fact lives in [docs/dialects.md](docs/dialects.m ## [Unreleased] +## [1.0.3] - 2026-09-02 + +No change to any diagnostic. + +### Fixed + +- The Action built its argument list with `[ cond ] && args+=(...)`, which returns + non-zero when the condition is false and would fail the step under `bash -e` if it + were ever the last line. It survived only by accident of ordering; the conditions + are now `if` blocks. + ## [1.0.2] - 2026-09-02 No change to any diagnostic. @@ -100,7 +111,8 @@ surface, the CLI flags, the Action inputs, and the config schema. - Output formats: text, JSON, SARIF, and GitHub annotations. - A zero-config GitHub Action and an installation-free CLI. -[unreleased]: https://github.com/korya/askl/compare/v1.0.2...HEAD +[unreleased]: https://github.com/korya/askl/compare/v1.0.3...HEAD +[1.0.3]: https://github.com/korya/askl/compare/v1.0.2...v1.0.3 [1.0.2]: https://github.com/korya/askl/compare/v1.0.1...v1.0.2 [1.0.1]: https://github.com/korya/askl/compare/v1.0.0...v1.0.1 [1.0.0]: https://github.com/korya/askl/compare/v0.3.0...v1.0.0 diff --git a/action.yml b/action.yml index 61ea54b..ff2355b 100644 --- a/action.yml +++ b/action.yml @@ -34,7 +34,15 @@ runs: shell: bash run: | args=(--format github) - [ -n "${{ inputs.dialect }}" ] && args+=(--dialect "${{ inputs.dialect }}") - [ "${{ inputs.strict }}" = "true" ] && args+=(--strict) - [ "${{ inputs.pedantic }}" = "true" ] && args+=(--pedantic) + # `[ cond ] && args+=(...)` returns non-zero when the test fails, which + # fails the whole step under `bash -e` if it is ever the last line. + if [ -n "${{ inputs.dialect }}" ]; then + args+=(--dialect "${{ inputs.dialect }}") + fi + if [ "${{ inputs.strict }}" = "true" ]; then + args+=(--strict) + fi + if [ "${{ inputs.pedantic }}" = "true" ]; then + args+=(--pedantic) + fi node "${{ github.action_path }}/dist/cli.js" "${args[@]}" "${{ inputs.path }}" diff --git a/dist/cli.js b/dist/cli.js index c29acc2..26991c0 100755 --- a/dist/cli.js +++ b/dist/cli.js @@ -15893,7 +15893,7 @@ function reportText(diagnostics, dialectIds) { } // src/main.ts -var VERSION = "1.0.2"; +var VERSION = "1.0.3"; var HELP = `askl: a deterministic linter for agent skills and plugins Usage: askl [options] [paths...] diff --git a/package.json b/package.json index 862d84a..378c3bc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@korya/askl", - "version": "1.0.2", + "version": "1.0.3", "description": "Deterministic linter for agent skills and agent plugins: agentskills.io, agent-plugins.org, Claude Code, and Codex compliance.", "type": "module", "license": "MIT", diff --git a/src/main.ts b/src/main.ts index 625a044..257a787 100644 --- a/src/main.ts +++ b/src/main.ts @@ -10,7 +10,7 @@ import { reportJson } from "./reporters/json.js"; import { reportSarif } from "./reporters/sarif.js"; import { reportText } from "./reporters/text.js"; -const VERSION = "1.0.2"; +const VERSION = "1.0.3"; const HELP = `askl: a deterministic linter for agent skills and plugins