Conversation
Greptile SummaryThis PR migrates the docs build pipeline from Confidence Score: 5/5Safe to merge — all changes are docs/tooling only with no logic or runtime impact on the main application. No P0 or P1 findings remain. The pipeline migration is internally consistent (mise.toml declares aube + node, the lockfile pins transitive deps, and the workflow steps match). The only previously-raised concern about frozen-lockfile semantics was already flagged in a prior review thread and is not repeated here. No files require special attention. Important Files Changed
Sequence DiagramsequenceDiagram
participant GH as GitHub Actions
participant mise as jdx/mise-action
participant aube as aube (via mise)
participant vp as VitePress
GH->>mise: install tools from mise.toml (node@24, aube@latest)
mise-->>GH: PATH updated with node & aube shims
GH->>aube: aube install (reads aube-lock.yaml)
aube-->>GH: node_modules installed (pinned versions)
GH->>aube: aube run docs:build
aube->>vp: executes docs:build script
vp-->>GH: docs/.vitepress/dist
GH->>GH: upload artifact → deploy to Pages
Reviews (2): Last reviewed commit: "[autofix.ci] apply automated fixes" | Re-trigger Greptile |
|
|
||
| - name: Install dependencies | ||
| run: npm ci | ||
| run: aube install |
There was a problem hiding this comment.
aube install may not enforce frozen lockfile in CI
The old step used npm ci, which always runs with --frozen-lockfile semantics and fails if package-lock.json is out of sync. aube install may or may not default to the same behaviour in CI environments. If aube doesn't honour the lockfile strictly, a dependency that drifts from aube-lock.yaml could silently install an unexpected version during the docs build. Consider using aube install --frozen-lockfile (or the aube equivalent) to preserve the same guarantee.
| run: aube install | |
| run: aube install --frozen-lockfile |
There was a problem hiding this comment.
Code Review
This pull request migrates the documentation dependency management from npm to the aube package manager, adding a new lockfile and updating the README with aube commands. It also adds a 'Releases' link to the documentation navigation and updates the mise.toml configuration. Review feedback recommends pinning the versions of aube and node in mise.toml to specific values instead of using 'latest' or major versions to ensure build reproducibility.
| _.path = ["target/debug", "test/bats/bin"] | ||
|
|
||
| [tools] | ||
| aube = "latest" |
There was a problem hiding this comment.
For reproducible builds, it's recommended to pin the version of aube instead of using latest. This prevents unexpected build failures when a new version of aube is released, especially one with breaking changes. Please consider pinning to a specific version.
aube = "0.1.2"
References
- Pinning dependencies to specific versions instead of using 'latest' ensures reproducible builds and prevents unexpected failures due to breaking changes in new releases.
| bitwarden-secrets-manager = "latest" | ||
| vault = "latest" | ||
| infisical = "latest" | ||
| node = "24" |
There was a problem hiding this comment.
To ensure reproducible builds, it's better to pin to a more specific version of Node.js rather than just the major version. This will prevent unexpected issues when new minor or patch versions are released. Please consider pinning to a specific version.
node = "24.2.0"
References
- Pinning dependencies to specific versions, rather than major versions, ensures reproducible builds and prevents unexpected failures due to breaking changes in new minor or patch releases.
### 🚀 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)
Summary
Validation
Note
Medium Risk
Medium risk because it changes the GitHub Pages docs build pipeline and dependency lockfile format, which could break CI/docs deployments if
aube/misebehavior differs from npm.Overview
Docs deployment now uses
mise+aubeinstead ofactions/setup-node+ npm: the GitHub Pages workflow runsaube installandaube run docs:build, and the docs README is updated to match.The npm
package-lock.jsonis replaced with a newaube-lock.yaml,.aube/is gitignored, and the VitePress nav adds a Releases link to GitHub.Reviewed by Cursor Bugbot for commit 787dd12. Bugbot is set up for automated code reviews on this repo. Configure here.