fixing release pipeline (#40)
Generate and publish developer Wiki / validate-wiki (push) Successful in 21s
Build and publish release / metadata (push) Successful in 45s
Generate and publish developer Wiki / publish-wiki (push) Successful in 12s
Build and publish release / create-release (push) Successful in 55s
Build and publish release / build (push) Failing after 23m29s
Build and publish release / publish-release (push) Skipped
Generate and publish developer Wiki / validate-wiki (push) Successful in 21s
Build and publish release / metadata (push) Successful in 45s
Generate and publish developer Wiki / publish-wiki (push) Successful in 12s
Build and publish release / create-release (push) Successful in 55s
Build and publish release / build (push) Failing after 23m29s
Build and publish release / publish-release (push) Skipped
Reviewed-on: #40 Co-authored-by: Koda YeenBean <n122330@gmail.com>
This commit was merged in pull request #40.
This commit is contained in:
@@ -114,6 +114,11 @@ behavior that still needs manual testing.
|
|||||||
- Ordinary read-only commands may fail with the same `bwrap` namespace error.
|
- Ordinary read-only commands may fail with the same `bwrap` namespace error.
|
||||||
When the command is safe and required, rerun it using the environment's normal
|
When the command is safe and required, rerun it using the environment's normal
|
||||||
escalation/approval mechanism instead of investigating the namespace setup.
|
escalation/approval mechanism instead of investigating the namespace setup.
|
||||||
|
- OpenWrt's release SDK host tools and preload libraries are x86-64. When using
|
||||||
|
them through QEMU on an ARM runner, never export the SDK's fakeroot library as
|
||||||
|
host `LD_PRELOAD`; carry it in a private variable and pass it to the bundled
|
||||||
|
x86 loader with `--preload`. Validate changes with an emulated build through
|
||||||
|
mbedTLS packaging, where a broken handoff appears as a `library/...` dependency.
|
||||||
|
|
||||||
Agents must preserve useful environment knowledge for later agents. When a new
|
Agents must preserve useful environment knowledge for later agents. When a new
|
||||||
pitfall or workaround is verified to be deterministic or repeatedly encountered,
|
pitfall or workaround is verified to be deterministic or repeatedly encountered,
|
||||||
|
|||||||
@@ -60,9 +60,16 @@ case $build_host in
|
|||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
sed -i -E \
|
sed -i -E \
|
||||||
-e 's|^export LD_PRELOAD=.*(\$dir/.*runas\.so)"$|sdk_preload="\1"|' \
|
-e 's|^export LD_PRELOAD=.*(\$dir/.*runas\.so)"$|sdk_preload="${SDK_GUEST_LD_PRELOAD:+$SDK_GUEST_LD_PRELOAD:}\1"\nunset LD_PRELOAD SDK_GUEST_LD_PRELOAD|' \
|
||||||
-e "s|^exec (\"\\\$dir/.*ld-linux-x86-64\\.so\\.2\")|exec ${qemu_x86_64} \\1 --preload \"\\\$sdk_preload\"|" \
|
-e "s|^exec (\"\\\$dir/.*ld-linux-x86-64\\.so\\.2\")|exec ${qemu_x86_64} \\1 --preload \"\\\$sdk_preload\"|" \
|
||||||
"${sdk_wrappers[@]}"
|
"${sdk_wrappers[@]}"
|
||||||
|
|
||||||
|
# fakeroot normally exports its x86-64 preload before invoking a wrapped
|
||||||
|
# command. Carry it in a private variable so ARM-native env/bash never try
|
||||||
|
# to load it; the wrapper above passes it directly to the guest loader.
|
||||||
|
fakeroot_script=staging_dir/host/bin/fakeroot
|
||||||
|
sed -i 's/LD_PRELOAD="$FAKEROOT_LIB"/SDK_GUEST_LD_PRELOAD="$FAKEROOT_LIB"/g' "$fakeroot_script"
|
||||||
|
grep -q 'SDK_GUEST_LD_PRELOAD="$FAKEROOT_LIB"' "$fakeroot_script"
|
||||||
staging_dir/host/bin/sed --version >/dev/null
|
staging_dir/host/bin/sed --version >/dev/null
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
@@ -110,11 +117,8 @@ make defconfig
|
|||||||
build_jobs=$(nproc)
|
build_jobs=$(nproc)
|
||||||
case $build_host in
|
case $build_host in
|
||||||
aarch64|arm64|armv7l|armv8l)
|
aarch64|arm64|armv7l|armv8l)
|
||||||
# The x86-64 SDK host tools run through QEMU on ARM. In particular,
|
(( build_jobs <= 2 )) || build_jobs=2
|
||||||
# concurrent mbedTLS links can leave partially written libraries behind;
|
make -j"$build_jobs" package/openuf/compile V=sc
|
||||||
# a later serial retry then packages that corrupted output. Build serially
|
|
||||||
# from a clean SDK extraction instead.
|
|
||||||
make -j1 package/openuf/compile V=sc
|
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
if ! make -j"$build_jobs" package/openuf/compile; then
|
if ! make -j"$build_jobs" package/openuf/compile; then
|
||||||
|
|||||||
Reference in New Issue
Block a user