fix: locate run module before build

This commit is contained in:
npc0-hue
2026-08-26 09:00:28 +08:00
parent 31eda4f67f
commit 84146924c1
2 changed files with 10 additions and 4 deletions
+9 -3
View File
@@ -484,15 +484,21 @@ if [ "$COMPONENT_KIND" = "run" ]; then
rm -rf /workspace/build/run-source
mkdir -p /workspace/build/run-source
find /workspace/source -mindepth 1 -maxdepth 1 ! -name pax_global_header -exec cp -R {} /workspace/build/run-source/ \;
run_command_dir="$(find /workspace/build/run-source -type d -path '*/cmd/run' -print -quit)"
run_module_dir="${run_command_dir%/cmd/run}"
if [ -z "$run_command_dir" ] || [ ! -f "$run_module_dir/go.mod" ]; then
printf 'Run source snapshot must contain a Go module with cmd/run\n' >&2
exit 2
fi
progress 34 'env_check: injecting run build metadata'
seed_b64="$(base64 /workspace/input/workspace-seed.json | tr -d '\n')"
mkdir -p /workspace/build/run-source/config
cat > /workspace/build/run-source/config/workspace_seed_generated.go <<EOF
mkdir -p "$run_module_dir/config"
cat > "$run_module_dir/config/workspace_seed_generated.go" <<EOF
package config
func init() { BuildWorkspaceSeed = "$seed_b64" }
EOF
cd /workspace/build/run-source
cd "$run_module_dir"
ldflags="-s -w"
ldflags="$ldflags -X browser.local/run/config.BuildMode=worker"
ldflags="$ldflags -X browser.local/run/config.BuildPlatformURL=$PLATFORM_URL"