Support release gates from linked worktrees

58bf417646d3 · AtlantisPleb · · parent f9fbf12b44f3

Support release gates from linked worktrees

Deploy story

What this commit did to the running system — joined from the forge receipt chain, the part a commit page elsewhere cannot show.

Not deployed through the forge lane

No push, promotion, build, or deploy receipt references this commit (receipts are scanned over a bounded recent window). Changes shipped by full node replacement carry their proof in the release gate receipt instead.

Changed files

  • modified ops/ci/gate.sh
  • modified ops/production/preflight.sh
  • modified ops/staging/publish-candidate.sh

Diff

3 files changed, +7 -4

ops/ci/gate.sh modified +3 -2

@@ -3,15 +3,16 @@ set -eu

3 3
4 4
script_dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
5 5
repo_root=$(CDPATH= cd -- "$script_dir/../.." && pwd)
6
receipt_root="$repo_root/.git/openagents/release-gate-receipts"
7 6
required_stages='compile production_compile precommit cluster javascript direct_transaction relup version_chain interrupted_install rolling_replacement contracts staging_infra release_smoke'
8 7
mode=${1:-run}
9 8
10
if [ ! -d "$repo_root/.git" ]; then
9
if [ "$(git -C "$repo_root" rev-parse --is-inside-work-tree 2>/dev/null || true)" != "true" ]; then
11 10
  echo "release gate must run from a Git worktree" >&2
12 11
  exit 1
13 12
fi
14 13
14
git_common_dir=$(git -C "$repo_root" rev-parse --path-format=absolute --git-common-dir)
15
receipt_root="$git_common_dir/openagents/release-gate-receipts"
15 16
git_sha=$(git -C "$repo_root" rev-parse --verify HEAD)
16 17
receipt_path="$receipt_root/$git_sha.json"
17 18
ops/production/preflight.sh modified +2 -1

@@ -7,7 +7,8 @@ production_project=${OPENAGENTS_PRODUCTION_PROJECT_ID:-}

7 7
staging_report=${OPENAGENTS_STAGING_REPORT:-}
8 8
resilience_report=${OPENAGENTS_STAGING_RESILIENCE_REPORT:-}
9 9
git_sha=$(git -C "$repo_root" rev-parse --verify HEAD)
10
candidate="$repo_root/.git/openagents/staging-candidates/$git_sha/candidate-manifest.json"
10
git_common_dir=$(git -C "$repo_root" rev-parse --path-format=absolute --git-common-dir)
11
candidate="$git_common_dir/openagents/staging-candidates/$git_sha/candidate-manifest.json"
11 12
isolation="$repo_root/.git/openagents/staging-isolation/$git_sha.json"
12 13
rehearsal="$repo_root/.git/openagents/production-rehearsal/$git_sha.json"
13 14
run_root=$(mktemp -d /tmp/openagents-production-preflight.XXXXXX)
ops/staging/publish-candidate.sh modified +2 -1

@@ -82,7 +82,8 @@ application_repository="${repository}/openagents"

82 82
builder_repository="${repository}/openagents-builder"
83 83
application_tag="${application_repository}:${git_sha}"
84 84
builder_tag="${builder_repository}:${git_sha}"
85
evidence_root="$repo_root/.git/openagents/staging-candidates"
85
git_common_dir=$(git -C "$repo_root" rev-parse --path-format=absolute --git-common-dir)
86
evidence_root="$git_common_dir/openagents/staging-candidates"
86 87
candidate_path="$evidence_root/$git_sha"
87 88
run_root=$(mktemp -d /tmp/openagents-staging-candidate.XXXXXX)
88 89
candidate_temp=

This page updates live while a promote is in flight · changelog