From 5c7c0c343eec305a0ed33715b2005f3be631c5cd Mon Sep 17 00:00:00 2001 From: ChatGPT Release Governance Date: Sun, 2 Aug 2026 16:55:02 +0800 Subject: [PATCH] fix(fastlane): resolve candidate installer repository root --- deploy/fastlane/install-fastlane-candidate.sh | 2 +- tests/fastlane/test_fastlane_assets_contract.py | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/deploy/fastlane/install-fastlane-candidate.sh b/deploy/fastlane/install-fastlane-candidate.sh index 07f5a99..472ca40 100755 --- a/deploy/fastlane/install-fastlane-candidate.sh +++ b/deploy/fastlane/install-fastlane-candidate.sh @@ -7,7 +7,7 @@ if [ "$(id -u)" -ne 0 ]; then fi SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd -P) -REPOSITORY_ROOT=$(CDPATH= cd -- "$SCRIPT_DIR/../../.." && pwd -P) +REPOSITORY_ROOT=$(CDPATH= cd -- "$SCRIPT_DIR/../.." && pwd -P) test -f "$REPOSITORY_ROOT/schemas/aios-fastlane-release-plan-v1.schema.json" test -f "$REPOSITORY_ROOT/services/aios-release-controller/aios_release_controller/cli.py" diff --git a/tests/fastlane/test_fastlane_assets_contract.py b/tests/fastlane/test_fastlane_assets_contract.py index cf76494..f854417 100644 --- a/tests/fastlane/test_fastlane_assets_contract.py +++ b/tests/fastlane/test_fastlane_assets_contract.py @@ -117,6 +117,13 @@ class FastlaneAssetContractTests(unittest.TestCase): self.assertIn("ReadWritePaths=/var/lib/aios/openclaw-provenance-v2r1c4", unit) self.assertNotIn("ReadWritePaths=/var/lib/aios/openclaw-session\n", unit) + def test_candidate_installer_resolves_repository_root_from_deploy_fastlane(self) -> None: + installer = ( + ROOT / "deploy" / "fastlane" / "install-fastlane-candidate.sh" + ).read_text(encoding="utf-8") + self.assertIn('"$SCRIPT_DIR/../.."', installer) + self.assertNotIn('"$SCRIPT_DIR/../../.."', installer) + def test_bootstrap_route_is_explicitly_superseded_without_history_rewrite(self) -> None: record = json.loads( (ROOT / "docs" / "releases" / "V2R1C4" / "FASTLANE-SUPERSESSION.json").read_text(