refactor: support OCI web bundles for spx runtime installs#2930
refactor: support OCI web bundles for spx runtime installs#2930nighca merged 1 commit intogoplus:devfrom
Conversation
db849e1 to
e1e1a2d
Compare
This comment was marked as outdated.
This comment was marked as outdated.
e1e1a2d to
108ad88
Compare
108ad88 to
d57ed4d
Compare
d57ed4d to
8a1b4b1
Compare
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces significant changes to how the Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Changelog
Ignored Files
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request refactors the spx runtime installation to support OCI web bundles, providing a fallback mechanism for pseudo-versions. The changes include updating install-spx.sh with a more robust installation flow, aligning Docker and CI configurations, and bumping the Go toolchain to 1.25 across the project. The dependencies for various tools have also been updated. The changes are well-structured and align with the goals described. I have one suggestion to improve the installation script's portability and maintainability.
I am having trouble creating individual review comments. Click here to see my feedback.
spx-gui/install-spx.sh (30-40)
This block can be improved for both portability and maintainability.
- Portability: Using
curlinstead ofwgetis generally safer ascurlis more widely available on different systems, which is beneficial for local development setups. - Maintainability: The
unzipandrmcommands are duplicated. They can be moved outside theif/elseblock to avoid repetition.
Here is a suggested refactoring that addresses both points.
if curl --output /dev/null --silent --head --fail "${SPX_RELEASE_URL}"; then
# Install from GitHub release
curl -L -o "${SPX_STAGING_DIR}/spx_web.zip" "${SPX_RELEASE_URL}"
else
# Install from OCI registry
go run "oras.land/oras/cmd/oras@v${ORAS_CLI_VERSION}" pull "${SPX_OCI_REF}" -o "${SPX_STAGING_DIR}"
fi
unzip -o "${SPX_STAGING_DIR}/spx_web.zip" -d "${SPX_STAGING_DIR}"
rm -f "${SPX_STAGING_DIR}/spx_web.zip"
8a1b4b1 to
123e33e
Compare
3bd029b to
683e6cf
Compare
Update `install-spx.sh` to try the GitHub release asset first and fall back to downloading `ghcr.io/goplus/spx:web-zip-<version>` from GHCR with `wget` for pseudo-versioned runtimes. Align Docker and Vercel with the lighter install flow. Keep the runtime installation on the Node install path and avoid requiring Go there. Bump the project Go toolchain to 1.25 across Docker, Vercel, CI, and the `tools/ai`, `tools/ispx`, and `tools/spxls` modules. Refresh `spx` to `2.0.0-pre.46.0.20260311090023-f1d975cfeca5` across the runtime defaults and tool modules, and bump `xgolsw` to `0.16.2-0.20260311065322-dd7cbc43c3b4` while keeping the ixgo-based toolchain on versions that no longer require the old `linkname` flags. Update the local Wasm build toolchain to match the new runtime bundle flow and dependency versions. Updates goplus/spx#1348 Signed-off-by: Aofei Sheng <aofei@aofeisheng.com>
683e6cf to
3bb9466
Compare
Update
install-spx.shto try the GitHub release asset first and fall back to downloadingghcr.io/goplus/spx:web-zip-<version>from GHCR withwgetfor pseudo-versioned runtimes.Align Docker and Vercel with the lighter install flow. Keep the runtime installation on the Node install path and avoid requiring Go there.
Bump the project Go toolchain to 1.25 across Docker, Vercel, CI, and the
tools/ai,tools/ispx, andtools/spxlsmodules.Refresh
spxto2.0.0-pre.46.0.20260311090023-f1d975cfeca5across the runtime defaults and tool modules, and bumpxgolswto0.16.2-0.20260311065322-dd7cbc43c3b4while keeping the ixgo-based toolchain on versions that no longer require the oldlinknameflags.Update the local Wasm build toolchain to match the new runtime bundle flow and dependency versions.
Updates goplus/spx#1348