mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-12 21:53:00 -06:00
fix(ci): allow sticky writer rebuild to finish (#113175)
* fix(ci): allow sticky writer rebuild to finish * test: register iOS release tooling ownership
This commit is contained in:
committed by
GitHub
parent
0d406a84db
commit
7915c44773
@@ -387,15 +387,22 @@ runs:
|
||||
append_pnpm_option_arg PNPM_CONFIG_NETWORK_CONCURRENCY network-concurrency
|
||||
append_pnpm_option_arg PNPM_CONFIG_STORE_DIR store-dir
|
||||
append_pnpm_option_arg PNPM_CONFIG_VIRTUAL_STORE_DIR virtual-store-dir
|
||||
sticky_writer_rebuild="false"
|
||||
if [ "$STICKY_DISK" = "true" ] && [ "$STICKY_WRITER" = "true" ] &&
|
||||
[ "$sticky_snapshot_matches" != "true" ]; then
|
||||
# Pnpm can trust stale hidden install metadata even with --force. Clear only
|
||||
# the writer-owned modules tree; the warmed store remains on the sticky disk.
|
||||
find "$GITHUB_WORKSPACE/node_modules" -mindepth 1 -maxdepth 1 -exec rm -rf -- {} +
|
||||
install_args+=(--force)
|
||||
sticky_writer_rebuild="true"
|
||||
fi
|
||||
run_pnpm_install() {
|
||||
if [ "$STICKY_DISK" = "true" ]; then
|
||||
if [ "$sticky_writer_rebuild" = "true" ]; then
|
||||
# A full relink exceeds the ordinary retry cap; restarting discards
|
||||
# several minutes of progress even when the warmed store is healthy.
|
||||
timeout --signal=TERM --kill-after=15s 15m \
|
||||
pnpm "${install_args[@]}" --config.fetch-retries=0
|
||||
elif [ "$STICKY_DISK" = "true" ]; then
|
||||
# Pnpm can keep retrying optional platform tarballs after the
|
||||
# required tree is linked. Retry the whole frozen transaction from
|
||||
# its warmed store instead of letting minute backoffs outlive this cap.
|
||||
@@ -425,7 +432,9 @@ runs:
|
||||
rm -f "$sticky_marker"
|
||||
fi
|
||||
install_attempts=2
|
||||
if [ "$STICKY_DISK" = "true" ]; then
|
||||
if [ "$sticky_writer_rebuild" = "true" ]; then
|
||||
install_attempts=1
|
||||
elif [ "$STICKY_DISK" = "true" ]; then
|
||||
install_attempts=3
|
||||
fi
|
||||
install_status=1
|
||||
|
||||
@@ -2160,6 +2160,7 @@ describe("ci workflow guards", () => {
|
||||
"Sticky dependency snapshot matches the install fingerprint and importer contents; skipping pnpm install",
|
||||
);
|
||||
expect(installStep.run).toContain("timeout --signal=TERM --kill-after=15s 4m");
|
||||
expect(installStep.run).toContain("timeout --signal=TERM --kill-after=15s 15m");
|
||||
expect(installStep.run).toContain('pnpm "${install_args[@]}" --config.fetch-retries=0');
|
||||
const forceStickyWriterInstall =
|
||||
'if [ "$STICKY_DISK" = "true" ] && [ "$STICKY_WRITER" = "true" ] &&\n' +
|
||||
@@ -2169,6 +2170,9 @@ describe("ci workflow guards", () => {
|
||||
'find "$GITHUB_WORKSPACE/node_modules" -mindepth 1 -maxdepth 1 -exec rm -rf -- {} +';
|
||||
expect(installStep.run).toContain(clearStickyModules);
|
||||
expect(installStep.run).toContain("install_args+=(--force)");
|
||||
expect(installStep.run).toContain('sticky_writer_rebuild="true"');
|
||||
expect(installStep.run).toContain('if [ "$sticky_writer_rebuild" = "true" ]; then');
|
||||
expect(installStep.run).toContain("install_attempts=1");
|
||||
expect(installStep.run.indexOf(forceStickyWriterInstall)).toBeLessThan(
|
||||
installStep.run.indexOf(clearStickyModules),
|
||||
);
|
||||
|
||||
@@ -2848,7 +2848,10 @@ describe("scripts/test-projects changed-target routing", () => {
|
||||
{
|
||||
config: "test/vitest/vitest.unit-fast-isolated.config.ts",
|
||||
forwardedArgs: [],
|
||||
includePatterns: ["test/scripts/android-version.test.ts"],
|
||||
includePatterns: [
|
||||
"test/scripts/android-version.test.ts",
|
||||
"test/scripts/ios-release-plan.test.ts",
|
||||
],
|
||||
watchMode: false,
|
||||
},
|
||||
{
|
||||
@@ -3006,7 +3009,10 @@ describe("scripts/test-projects changed-target routing", () => {
|
||||
{
|
||||
config: "test/vitest/vitest.unit-fast-isolated.config.ts",
|
||||
forwardedArgs: [],
|
||||
includePatterns: ["test/scripts/android-version.test.ts"],
|
||||
includePatterns: [
|
||||
"test/scripts/android-version.test.ts",
|
||||
"test/scripts/ios-release-plan.test.ts",
|
||||
],
|
||||
watchMode: false,
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user