feat: add aube - #7162
Conversation
|
I would like to have my upstream PR in Renovate that adds support for Aube lockfiles, which ultimately depends on this being merged 🙂 Is there anything I can assist with to help get this merged? |
Signed-off-by: Jonah Snider <jonah@jonahsnider.com>
|
@coderabbitai review |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (8)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughAdds Aube as an installable runtime tool. The installer downloads architecture-specific GitHub release assets with checksum verification. Docker tests run ChangesAube integration
Priority: ⬇️ Low Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Feature Sequence Diagram(s)sequenceDiagram
participant InstallTool
participant AubeInstallService
participant GitHubReleases
participant ToolPath
InstallTool->>AubeInstallService: install(version)
AubeInstallService->>GitHubReleases: fetch release metadata
GitHubReleases-->>AubeInstallService: return asset checksum
AubeInstallService->>GitHubReleases: download release tarball
AubeInstallService->>ToolPath: extract archive and create wrappers
AubeInstallService->>ToolPath: run aube --version
Merge Risk: ⚪ Minimal · up to The Aube installation and command-compatibility coverage introduces no active merge-blocking risk. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 3 files. (5 skipped: 5 unsupported.)
✨ Finishing Touches🧪 Generate unit tests (beta)
Warning Some tools did not complete. Review the errors below. 🔧 ESLint
src/cli/install-tool/index.tsOops! Something went wrong! :( ESLint: 10.9.1 Error: File ' ... [truncated 231 characters] ... cb725da7b933b8405/node_modules/eslint-plugin-import-x/lib/utils/lazy-value.js:7:22 src/cli/tools/aube.tsESLint skipped: the matched ESLint configuration already failed (unknown). src/cli/tools/index.tsESLint skipped: the matched ESLint configuration already failed (unknown).
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
|
Thanks for the review! Feedback should be addressed now. |
| const release = await this.http.getJson<GitHubRelease>( | ||
| `https://api.github.com/repos/jdx/aube/releases/tags/v${version}`, | ||
| ); | ||
| const expectedChecksum = release.assets | ||
| .find((asset) => asset.name === filename) | ||
| ?.digest?.replace(/^sha256:/, ''); | ||
|
|
||
| if (!expectedChecksum) { | ||
| throw new Error(`Cannot find checksum for '${filename}'`); | ||
| } |
There was a problem hiding this comment.
💡 Quality: aube checksum relies on undocumented api.github.com endpoint
Unlike apm.ts which fetches a .sha256 sidecar from the releases download URL, aube.ts fetches the full release metadata from https://api.github.com/repos/jdx/aube/releases/tags/v${version} to read the asset digest. This endpoint is unauthenticated (the HTTP service only sets a user-agent header, no token), so it is subject to GitHub's 60 req/hr per-IP anonymous rate limit, and it is not covered by the custom-registries.md docs, which only list github.com/jdx/aube/releases as the download source. Users mirroring aube via a custom registry would also need to proxy the API host (it does pass through envSvc.replaceUrl, but that is not documented). Consider documenting the API dependency in custom-registries.md and/or confirming rate limiting is acceptable for build environments.
Was this helpful? React with 👍 / 👎
There was a problem hiding this comment.
aube doesn't ship releases with checksums, so we have to use the GitHub APIs if we want to verify the binary
There was a problem hiding this comment.
Gitar can change code and merge on your behalf, so it only acts on requests from people who can push. This needs Write access to this repository.
Code Review 👍 Approved with suggestions 0 resolved / 1 findingsAdds 💡 Quality: aube checksum relies on undocumented api.github.com endpoint📄 src/cli/tools/aube.ts:32-41 📄 docs/custom-registries.md:62-73 Unlike 🤖 Prompt for agentsOptionsAuto-apply is off → Gitar will not commit updates to this branch. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Gitar |
Closes #7114
Summary by CodeRabbit
New Features
Tests
Chores