Provide pre-built binaries for Alpine on ARM#759
Conversation
Fixes: #757 Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
🤖 Augment PR SummarySummary: Adds Alpine (musl) ARM64 coverage so the project can publish and consume pre-built binaries on that platform. Changes:
🤖 Was this summary useful? React with 👍 or 👎 |
| linux-x86_64 | ||
| linux-arm64 | ||
| linux-x86_64-musl | ||
| linux-arm64-musl |
There was a problem hiding this comment.
cmake/fetch-github-releases.cmake:16 — Adding linux-arm64-musl means cmake -P cmake/fetch-github-releases.cmake (used by make npm-pack in CI) will now hard-fail if the v${VERSION} GitHub release doesn’t already contain jsonschema-${VERSION}-linux-arm64-musl.zip (current VERSION is 15.6.2). This can break PR CI until that asset is published for the referenced version.
Severity: high
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
|
|
||
| function getExecutableName() { | ||
| if (PLATFORM === 'linux' && ARCH === 'x86_64' && isMusl()) { | ||
| if (PLATFORM === 'linux' && (ARCH === 'x86_64' || ARCH === 'arm64') && isMusl()) { |
There was a problem hiding this comment.
npm/main.js:25 — This assumes musl ARM64 releases/binaries are named with arm64 (matching Node’s os.arch()), but other installers that rely on uname -m often report aarch64 and may still try to fetch the wrong artifact. It’d be good to ensure all distribution paths normalize ARM64 consistently so Alpine ARM users don’t remain unsupported.
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
There was a problem hiding this comment.
2 issues found across 2 files (changes from recent commits).
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name=".github/workflows/package.yml">
<violation number="1" location=".github/workflows/package.yml:84">
P1: Pin this third-party action to a full commit SHA instead of a mutable `@v1` tag to prevent silent supply-chain drift.</violation>
</file>
<file name=".github/workflows/test.yml">
<violation number="1" location=".github/workflows/test.yml:78">
P2: Pin this third-party GitHub Action to a full commit SHA instead of a mutable tag to reduce supply-chain risk in CI.</violation>
</file>
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
| # See https://github.com/laverdet/alpine-arm64 | ||
| # Required for JavaScript-based actions to work inside Alpine containers | ||
| # on ARM64 runners | ||
| - uses: laverdet/alpine-arm64@v1 |
There was a problem hiding this comment.
P1: Pin this third-party action to a full commit SHA instead of a mutable @v1 tag to prevent silent supply-chain drift.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/package.yml, line 84:
<comment>Pin this third-party action to a full commit SHA instead of a mutable `@v1` tag to prevent silent supply-chain drift.</comment>
<file context>
@@ -78,6 +78,12 @@ jobs:
+ # See https://github.com/laverdet/alpine-arm64
+ # Required for JavaScript-based actions to work inside Alpine containers
+ # on ARM64 runners
+ - uses: laverdet/alpine-arm64@v1
+ if: matrix.platform.type == 'container' && runner.arch == 'ARM64'
+
</file context>
| # See https://github.com/laverdet/alpine-arm64 | ||
| # Required for JavaScript-based actions to work inside Alpine containers | ||
| # on ARM64 runners | ||
| - uses: laverdet/alpine-arm64@v1 |
There was a problem hiding this comment.
P2: Pin this third-party GitHub Action to a full commit SHA instead of a mutable tag to reduce supply-chain risk in CI.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/test.yml, line 78:
<comment>Pin this third-party GitHub Action to a full commit SHA instead of a mutable tag to reduce supply-chain risk in CI.</comment>
<file context>
@@ -72,6 +72,12 @@ jobs:
+ # See https://github.com/laverdet/alpine-arm64
+ # Required for JavaScript-based actions to work inside Alpine containers
+ # on ARM64 runners
+ - uses: laverdet/alpine-arm64@v1
+ if: matrix.platform.type == 'container' && runner.arch == 'ARM64'
+
</file context>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [sourcemeta/jsonschema](https://github.com/sourcemeta/jsonschema) | patch | `v15.6.2` → `v15.6.3` | MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot). **Proposed changes to behavior should be submitted there as MRs.** --- ### Release Notes <details> <summary>sourcemeta/jsonschema (sourcemeta/jsonschema)</summary> ### [`v15.6.3`](https://github.com/sourcemeta/jsonschema/releases/tag/v15.6.3) [Compare Source](sourcemeta/jsonschema@v15.6.2...v15.6.3) #### What's Changed - Provide pre-built binaries for Alpine on ARM by [@​jviotti](https://github.com/jviotti) in [#​759](sourcemeta/jsonschema#759) **Full Changelog**: <sourcemeta/jsonschema@v15.6.2...v15.6.3> </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever MR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xODIuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE4Mi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiLCJhdXRvbWF0aW9uOmJvdC1hdXRob3JlZCIsImRlcGVuZGVuY3ktdHlwZTo6cGF0Y2giXX0=-->
See: #757
Signed-off-by: Juan Cruz Viotti jv@jviotti.com