refactor: migrate build and runtime assets to project-local dist#1233
Draft
aofei wants to merge 1 commit intogoplus:devfrom
Draft
refactor: migrate build and runtime assets to project-local dist#1233aofei wants to merge 1 commit intogoplus:devfrom
dist#1233aofei wants to merge 1 commit intogoplus:devfrom
Conversation
This comment was marked as off-topic.
This comment was marked as off-topic.
0f04702 to
26a9a5c
Compare
dist
608fe01 to
b64b6d5
Compare
Restructure build and release workflows so SPX artifacts are produced and consumed from `dist/` instead of `$GOPATH/bin`. This makes local builds and packaged goenv releases use the same layout. Build and packaging: - add `scripts/build.sh`, `scripts/setup-engines.sh`, `scripts/setup-web-template.sh`, and `scripts/verify-goenv.sh` - update `Makefile` to use `build`, `build-web`, `build-native`, `setup`, `setup-engines`, and `setup-web` - make `run-web` and `run-web-worker` fail fast when `build-web` fails Runtime and resource loading: - resolve `ShareDir` and `LibDir` from executable-relative paths - load engines from `dist/share/engines` and native libs from `dist/lib` - remove `spxrun` runtime auto-download and require pre-provisioned engines - track runtime versions with `pck_version` in `cmd/gox/template` and `cmd/spxrun/runner`, and `pck_release_tag` in `cmd/gox/template` Web export cleanup: - remove brotli-specific `.br` handling and `-build=fast` leftovers - remove `isWasmCompressed` leftovers and keep uncompressed wasm flow - improve error propagation in web export and worker merge paths CI and release: - switch cache namespace from `spx-godot-*` to `spx-assets-*` - make deps cache and setup arch-aware via `spx-arch` and `SPX_ARCH` - package goenv with `go/bin`, `go/share`, and `go/lib` from `dist` - re-enable release runtime verification with explicit success marker checks Documentation: - update `README.md` and `docs/zh/dev/engine/cmd_make.md` for the new `dist`-based workflow - refresh web-related docs under `docs/zh/dev/engine/` This is a breaking change. Existing installations that depend on `$GOPATH/bin` must migrate to the `dist/` layout. Signed-off-by: Aofei Sheng <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Restructure build and release workflows so SPX artifacts are produced and consumed from
dist/instead of$GOPATH/bin. This makes local builds and packaged goenv releases use the same layout.Build and packaging:
scripts/build.sh,scripts/setup-engines.sh,scripts/setup-web-template.sh, andscripts/verify-goenv.shMakefileto usebuild,build-web,build-native,setup,setup-engines, andsetup-webrun-webandrun-web-workerfail fast whenbuild-webfailsRuntime and resource loading:
ShareDirandLibDirfrom executable-relative pathsdist/share/enginesand native libs fromdist/libspxrunruntime auto-download and require pre-provisioned enginespck_versionincmd/gox/templateandcmd/spxrun/runner, andpck_release_tagincmd/gox/templateWeb export cleanup:
.brhandling and-build=fastleftoversisWasmCompressedleftovers and keep uncompressed wasm flowCI and release:
spx-godot-*tospx-assets-*spx-archandSPX_ARCHgo/bin,go/share, andgo/libfromdistDocumentation:
README.mdanddocs/zh/dev/engine/cmd_make.mdfor the newdist-based workflowdocs/zh/dev/engine/This is a breaking change. Existing installations that depend on
$GOPATH/binmust migrate to thedist/layout.