Skip to content

docs: include linux native packages in aube lock#423

Merged
jdx merged 1 commit intomainfrom
codex/aube-docs-linux-lock
Apr 19, 2026
Merged

docs: include linux native packages in aube lock#423
jdx merged 1 commit intomainfrom
codex/aube-docs-linux-lock

Conversation

@jdx
Copy link
Copy Markdown
Owner

@jdx jdx commented Apr 19, 2026

Summary

Fixes the docs deploy failure from https://github.com/jdx/fnox/actions/runs/24634895084/job/72028485580 by making the aube lock include Linux native optional packages.

The docs job failed on Ubuntu with Rollup unable to load @rollup/rollup-linux-x64-gnu. The existing lock was generated on macOS, so the Linux native package was absent.

Changes

  • Add pnpm.supportedArchitectures to include current platform plus Linux x64 glibc.
  • Regenerate and format aube-lock.yaml so Rollup/esbuild Linux packages are present.

Validation

  • mise x aube@latest -- aube install --lockfile-only --force
  • mise x npm:prettier@3.6.2 -- prettier --write package.json aube-lock.yaml
  • rm -rf node_modules && mise x -- aube install
  • mise x -- aube run docs:build
  • mise x npm:prettier@3.6.2 -- prettier --check package.json aube-lock.yaml

Note

Low Risk
Low risk lockfile/config change that only affects dependency resolution; main risk is slightly larger installs or unexpected native binary selection on CI/Linux.

Overview
Fixes Linux docs build/deploy by ensuring platform-specific native optional deps are present in the lockfile.

Adds pnpm.supportedArchitectures in package.json to include Linux x64/glibc (alongside current), and regenerates aube-lock.yaml so rollup and esbuild Linux (and additional Darwin) native packages are recorded and resolved consistently across CI runners.

Reviewed by Cursor Bugbot for commit 61d2f02. Bugbot is set up for automated code reviews on this repo. Configure here.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request updates the lockfile to include several platform-specific packages for esbuild and rollup and introduces a supportedArchitectures configuration in package.json. Feedback focuses on ensuring the supportedArchitectures list is comprehensive; specifically, darwin, arm64, and musl should be added to their respective categories to match the packages present in the lockfile and prevent them from being pruned during future updates in different environments.

Comment thread package.json
Comment on lines +17 to +20
"os": [
"current",
"linux"
],
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

To ensure the lockfile remains universal and doesn't prune macOS-specific packages when updated on Linux (or vice versa), it's recommended to explicitly include darwin in the os list. The current lockfile already contains Darwin packages that would otherwise be removed if regenerated on a Linux machine.

      "os": [
        "current",
        "linux",
        "darwin"
      ],

Comment thread package.json
Comment on lines +21 to +24
"cpu": [
"current",
"x64"
],
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

The cpu list should explicitly include arm64. Since the lockfile diff shows several arm64 packages being added (e.g., @esbuild/linux-arm64), making this explicit prevents them from being removed if the lockfile is regenerated on an Intel-based machine where "current" would resolve to x64.

      "cpu": [
        "current",
        "x64",
        "arm64"
      ],

Comment thread package.json
Comment on lines +25 to +28
"libc": [
"current",
"glibc"
]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

The libc list is missing musl, yet the lockfile diff includes musl variants for Rollup (e.g., @rollup/rollup-linux-x64-musl). Adding musl here ensures support for environments like Alpine Linux and maintains consistency with the committed lockfile state.

      "libc": [
        "current",
        "glibc",
        "musl"
      ]

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Apr 19, 2026

Greptile Summary

Fixes the docs deploy failure on Ubuntu by adding pnpm.supportedArchitectures to package.json so that Linux x64 glibc native packages (Rollup, esbuild) are included when the lock file is generated on macOS, then regenerating aube-lock.yaml accordingly.

Confidence Score: 5/5

Safe to merge — targeted, well-validated fix for a CI infrastructure issue with no logic or security concerns.

All changes are confined to the lock file and package.json metadata. The fix is directly validated by a successful local docs:build run as documented in the PR description. No application logic is altered.

No files require special attention.

Important Files Changed

Filename Overview
package.json Adds pnpm.supportedArchitectures to ensure Linux x64 glibc (and arm64, musl) native packages are fetched alongside the current (macOS) platform when generating the lock file.
aube-lock.yaml Regenerated lock now includes @rollup/rollup-linux-x64-gnu, @rollup/rollup-linux-arm64-gnu, and their musl counterparts, as well as the matching @esbuild/linux-* entries, fixing the Ubuntu docs build failure.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[pnpm install / aube install] --> B{supportedArchitectures?}
    B -- Before PR\nmacOS only --> C[Lock includes\ndarwin-arm64 / darwin-x64\nnatives only]
    B -- After PR\ncurrent + linux / x64 / glibc --> D[Lock includes\ndarwin + linux-x64-gnu\nlinux-arm64-gnu etc.]
    C --> E[Ubuntu CI: rollup-linux-x64-gnu\nnot in lock → build fails]
    D --> F[Ubuntu CI: rollup-linux-x64-gnu\npresent → docs:build succeeds]
Loading

Reviews (1): Last reviewed commit: "docs: include linux native packages in a..." | Re-trigger Greptile

@jdx jdx merged commit b8a047d into main Apr 19, 2026
18 checks passed
@jdx jdx deleted the codex/aube-docs-linux-lock branch April 19, 2026 17:59
jdx pushed a commit that referenced this pull request Apr 21, 2026
### 🚀 Features

- Powershell integration by [@nbfritch](https://github.com/nbfritch) in
[#421](#421)

### 🐛 Bug Fixes

- **(Windows)** Nushell integration by
[@john-trieu-nguyen](https://github.com/john-trieu-nguyen) in
[#425](#425)
- **(Windows)** Command resolution for executables by
[@john-trieu-nguyen](https://github.com/john-trieu-nguyen) in
[#427](#427)

### 📚 Documentation

- add releases nav and aube lock by [@jdx](https://github.com/jdx) in
[#422](#422)
- include linux native packages in aube lock by
[@jdx](https://github.com/jdx) in
[#423](#423)

### 🔍 Other Changes

- Use published `clap-sort` crate instead of inlined module by
[@jdx](https://github.com/jdx) in
[#409](#409)
- add communique 1.0.1 by [@jdx](https://github.com/jdx) in
[#424](#424)

### 📦️ Dependency Updates

- lock file maintenance by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#381](#381)
- update taiki-e/upload-rust-binary-action digest to 10c1cf6 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#383](#383)
- update rust crate tokio to v1.51.1 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#384](#384)
- update rust crate indexmap to v2.14.0 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#385](#385)
- update rust crate rmcp to v1.4.0 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#389](#389)
- update rust crate strum to 0.28 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#395](#395)
- update rust crate toml_edit to 0.25 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#396](#396)
- update rust crate miniz_oxide to 0.9 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#390](#390)
- update rust crate ratatui to 0.30 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#392](#392)
- update actions/checkout action to v6 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#397](#397)
- update actions/deploy-pages action to v5 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#399](#399)
- update actions/configure-pages action to v6 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#398](#398)
- update actions/setup-node action to v6 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#400](#400)
- update actions/upload-pages-artifact action to v4 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#401](#401)
- update dependency node to v24 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#403](#403)
- update apple-actions/import-codesign-certs action to v6 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#402](#402)
- update nick-fields/retry action to v4 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#406](#406)
- update github artifact actions (major) by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#404](#404)
- update jdx/mise-action action to v4 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#405](#405)
- update rust crate which to v8 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#408](#408)
- update rust crate usage-lib to v3 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#407](#407)
- bump rustcrypto stack (aes-gcm, sha2, hkdf) together by
[@jdx](https://github.com/jdx) in
[#410](#410)
- update rust crate reqwest to 0.13 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#393](#393)
- update rust crate libloading to 0.9 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#388](#388)
- update rust crate keepass to 0.10 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#387](#387)
- update rust crate rand to 0.10 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#391](#391)
- lock file maintenance by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#411](#411)
- update rust crate google-cloud-secretmanager-v1 to v1.8.0 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#415](#415)
- update actions/upload-pages-artifact action to v5 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#418](#418)
- update rust crate rmcp to v1.5.0 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#416](#416)
- update rust crate clap to v4.6.1 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#413](#413)
- update rust crate tokio to v1.52.1 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#417](#417)
- update rust crate keepass to v0.10.6 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#414](#414)
- update taiki-e/upload-rust-binary-action digest to f0d45ae by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#419](#419)
- update rust crate aws-sdk-sts to v1.102.0 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#420](#420)

### New Contributors

- @john-trieu-nguyen made their first contribution in
[#427](#427)
- @nbfritch made their first contribution in
[#421](#421)
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