Skip to content

Provide pre-built binaries for Alpine on ARM#759

Merged
jviotti merged 3 commits into
mainfrom
alpine-arm
May 18, 2026
Merged

Provide pre-built binaries for Alpine on ARM#759
jviotti merged 3 commits into
mainfrom
alpine-arm

Conversation

@jviotti
Copy link
Copy Markdown
Member

@jviotti jviotti commented May 18, 2026

See: #757
Signed-off-by: Juan Cruz Viotti jv@jviotti.com

Fixes: #757
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 4 files

Re-trigger cubic

@augmentcode
Copy link
Copy Markdown

augmentcode Bot commented May 18, 2026

🤖 Augment PR Summary

Summary: Adds Alpine (musl) ARM64 coverage so the project can publish and consume pre-built binaries on that platform.

Changes:

  • Extends CI/CD workflows to build/test in an Alpine container on ARM runners
  • Updates release-fetch tooling and the npm launcher to recognize and use the new linux-arm64-musl binary

🤖 Was this summary useful? React with 👍 or 👎

Copy link
Copy Markdown

@augmentcode augmentcode Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 2 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

Comment thread cmake/fetch-github-releases.cmake Outdated
linux-x86_64
linux-arm64
linux-x86_64-musl
linux-arm64-musl
Copy link
Copy Markdown

@augmentcode augmentcode Bot May 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

Comment thread npm/main.js Outdated

function getExecutableName() {
if (PLATFORM === 'linux' && ARCH === 'x86_64' && isMusl()) {
if (PLATFORM === 'linux' && (ARCH === 'x86_64' || ARCH === 'arm64') && isMusl()) {
Copy link
Copy Markdown

@augmentcode augmentcode Bot May 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>
@jviotti jviotti merged commit ecde7a5 into main May 18, 2026
15 checks passed
@jviotti jviotti deleted the alpine-arm branch May 18, 2026 16:37
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request May 19, 2026
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 [@&#8203;jviotti](https://github.com/jviotti) in [#&#8203;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=-->
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.

1 participant