Skip to content

ci(pdf): quote GITHUB_ENV and GITHUB_OUTPUT redirects flagged by actionlint SC2086 - #126

Merged
willgriffin merged 1 commit into
mainfrom
claude/125-actionlint-sc2086
Jul 30, 2026
Merged

ci(pdf): quote GITHUB_ENV and GITHUB_OUTPUT redirects flagged by actionlint SC2086#126
willgriffin merged 1 commit into
mainfrom
claude/125-actionlint-sc2086

Conversation

@willgriffin

Copy link
Copy Markdown
Contributor

Quotes the seven unquoted $GITHUB_ENV / $GITHUB_OUTPUT redirect targets that
actionlint flags as SC2086 across three workflows.

This is the same pattern already applied to changeset-check.yml in #122, which
was scoped to #121 and deliberately left the rest alone.

Changes

File Statement
on-pull-request.yml STORE_PATH=…>> "$GITHUB_ENV"
on-pull-request.yml bump=$bump>> "$GITHUB_OUTPUT"
publish.yml STORE_PATH=…>> "$GITHUB_ENV"
publish.yml changed=false>> "$GITHUB_OUTPUT"
publish.yml changed=true>> "$GITHUB_OUTPUT"
publish.yml version=…>> "$GITHUB_OUTPUT"
test.yml STORE_PATH=…>> "$GITHUB_ENV"

Scope

Lint hygiene only; no behavioural change. None of these scripts consume untrusted
input — actionlint reports no is potentially untrusted findings in these three
files. The security-relevant untrusted-input finding lives in changeset-check.yml
and is tracked by #121 / #122.

Verification

actionlint before and after, from this branch:

pnpm typecheck, pnpm lint, pnpm test (162 passed / 17 files) and pnpm build
are all green. pnpm docs:api was not run — no public API or JSDoc surface changed.

Release intent

Labelled skip-changeset: the diff touches only .github/workflows/**, no
release-sensitive path, and the commit subject is non-releaseable.

Closes #125

{
  "schema": "hv-agent-run:v1",
  "runtime": "claude",
  "session": "dca0aa48-4946-43ba-940b-51143a9e4a8b",
  "issue": "https://github.com/happyvertical/pdf/issues/125",
  "policy_revision": "1.0.0",
  "validation": [
    "actionlint",
    "pnpm typecheck",
    "pnpm lint",
    "pnpm test",
    "pnpm build"
  ]
}

actionlint reported seven SC2086 findings across on-pull-request.yml,
publish.yml and test.yml, all of them writes to the runner-provided
$GITHUB_ENV / $GITHUB_OUTPUT paths with an unquoted redirect target.

Quote the redirect targets. This is the same pattern already applied to
changeset-check.yml in #122, which was scoped to #121 and left these
alone.

Lint hygiene only, no behavioural change: none of these scripts consume
untrusted input, and actionlint reports no "potentially untrusted"
findings in these three files.

Closes #125
@willgriffin willgriffin added the skip-changeset No package release required label Jul 30, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Release Preview

This PR title will not trigger an automatic release on squash merge.

Use a releaseable conventional PR title like fix(pdf): ..., feat(pdf): ..., or chore(deps): ... if this change should publish automatically.

Otherwise, add a manual changeset or apply the skip-changeset label if no release is needed.

@willgriffin
willgriffin added this pull request to the merge queue Jul 30, 2026
Merged via the queue into main with commit ab657f0 Jul 30, 2026
9 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-changeset No package release required

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ci: quote GITHUB_ENV and GITHUB_OUTPUT redirects flagged by actionlint SC2086

1 participant