Skip to content

fix(publish): quote release tag passed to SignPath#313

Merged
ChiragAgg5k merged 1 commit into
masterfrom
fix/signpath-version-quoting
May 11, 2026
Merged

fix(publish): quote release tag passed to SignPath#313
ChiragAgg5k merged 1 commit into
masterfrom
fix/signpath-version-quoting

Conversation

@ChiragAgg5k
Copy link
Copy Markdown
Member

Problem

The Windows-signing job on the 20.2.0-rc.1 release failed with:

Run signpath/github-action-submit-signing-request@b9d91eadd323de506c0c81cf0c7fe7438f3360fd
Submitting the signing request to SignPath GitHub Actions connector...
Error: Invalid parameter value: 20.2.0-rc.1 - SyntaxError: Unexpected non-whitespace character after JSON at position 4 (line 1 column 5). Only valid JSON strings are allowed.

SignPath's GitHub Action parses each parameter VALUE as JSON. 20.2.0-rc.1 is not a valid JSON literal (numbers can't have multiple decimal points; strings must be quoted), so the action errors out at position 4 ("20.2" followed by another .).

Stable tags like 20.1.0 happened to almost parse as JSON numbers, which is why the bug only surfaces now that we cut a pre-release with a dotted/dashed suffix.

Fix

Wrap the release tag in double quotes inside the parameters: block so SignPath sees version: "20.2.0-rc.1" — a valid JSON string.

parameters: |
-  version: ${{ github.event.release.tag_name }}
+  version: "${{ github.event.release.tag_name }}"

Test plan

  • Once merged, re-run the publish workflow for the existing 20.2.0-rc.1 release and confirm the SignPath step succeeds and signed Windows binaries are produced.

Upstream

The same fix needs to land in appwrite/sdk-generator (templates/cli/.github/workflows/publish.yml) so the next CLI regeneration doesn't re-introduce the bug. A separate PR will follow.

SignPath's GitHub Action parses each parameter value as JSON, so a bare
20.2.0-rc.1 fails with a SyntaxError at position 4. Wrap the value in
double quotes so it's interpreted as a JSON string.
@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented May 11, 2026

Greptile Summary

This PR fixes a one-line bug in the Windows-signing step of the publish workflow. Without quoting, SignPath's GitHub Action tried to parse version tags like 20.2.0-rc.1 as raw JSON literals, which fails because they are neither valid JSON numbers nor quoted strings.

  • Wraps ${{ github.event.release.tag_name }} in double quotes inside the parameters: | literal block, producing version: \"20.2.0-rc.1\" — a valid JSON string — for every release tag format.
  • The change is contained to one line and has no side-effects on any other workflow step.

Confidence Score: 5/5

Safe to merge; the change is a single-character addition that directly matches the documented root cause and is isolated to the SignPath parameters block.

The fix is minimal and targeted: adding double quotes around the tag name turns an invalid JSON token into a valid JSON string for all tag formats, including stable semver and pre-release variants. No other steps, outputs, or secrets handling are affected.

No files require special attention.

Important Files Changed

Filename Overview
.github/workflows/publish.yml Wraps the SignPath version parameter in double quotes so it is treated as a valid JSON string, fixing failures on pre-release tags like 20.2.0-rc.1.

Reviews (1): Last reviewed commit: "fix(publish): quote release tag passed t..." | Re-trigger Greptile

@ChiragAgg5k ChiragAgg5k merged commit 25b43d3 into master May 11, 2026
2 checks passed
@ChiragAgg5k ChiragAgg5k deleted the fix/signpath-version-quoting branch May 11, 2026 05:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants