clusterflux-public/scripts/verify-public-split.sh
Michel Paulissen 5386bb851f Public dry run dryrun-0b6a82183be2
Source commit: 0b6a82183be25780b308c75442a9b5f602f727d4
2026-07-03 19:11:24 +02:00

71 lines
3.2 KiB
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
source_commit="$(git -C "$repo_root" rev-parse HEAD)"
export DISASMER_ACCEPTANCE_COMMIT="$source_commit"
tmp_dir="$(mktemp -d)"
trap 'rm -rf "$tmp_dir"' EXIT
tar \
--exclude='./.git' \
--exclude='./target' \
--exclude='./private' \
--exclude='./experiments' \
-C "$repo_root" \
-cf - . | tar -C "$tmp_dir" -xf -
if find "$tmp_dir" -path "$tmp_dir/private" -print -quit | grep -q .; then
echo "private directory leaked into public split" >&2
exit 1
fi
if find "$tmp_dir" -path "$tmp_dir/experiments" -print -quit | grep -q .; then
echo "experiments directory leaked into public split" >&2
exit 1
fi
cargo test --workspace --manifest-path "$tmp_dir/Cargo.toml"
cargo build --workspace --bins --manifest-path "$tmp_dir/Cargo.toml"
(cd "$tmp_dir" && node scripts/acceptance-report-smoke.js)
(cd "$tmp_dir" && node scripts/acceptance-doc-contract-smoke.js)
(cd "$tmp_dir" && node scripts/acceptance-environment-contract-smoke.js)
(cd "$tmp_dir" && node scripts/acceptance-evidence-contract-smoke.js)
(cd "$tmp_dir" && node scripts/public-private-boundary-smoke.js)
(cd "$tmp_dir" && node scripts/release-blocker-smoke.js)
(cd "$tmp_dir" && node scripts/resource-metering-contract-smoke.js)
(cd "$tmp_dir" && node scripts/hostile-input-contract-smoke.js)
(cd "$tmp_dir" && node scripts/tenant-isolation-contract-smoke.js)
(cd "$tmp_dir" && node scripts/public-story-contract-smoke.js)
(cd "$tmp_dir" && node scripts/public-release-dryrun-contract-smoke.js)
(cd "$tmp_dir" && node scripts/self-hosted-coordinator-smoke.js)
(cd "$tmp_dir" && node scripts/public-local-demo-matrix-smoke.js)
(cd "$tmp_dir" && scripts/release-source-scan.sh)
(cd "$tmp_dir" && node scripts/prepare-public-release-dryrun.js)
if [[ -n "${DISASMER_FORGEJO_TOKEN:-}" ]]; then
(cd "$tmp_dir" && node scripts/publish-public-release-dryrun.js)
fi
(cd "$tmp_dir" && node scripts/docs-smoke.js)
(cd "$tmp_dir" && node scripts/cli-output-mode-smoke.js)
(cd "$tmp_dir" && node scripts/cli-login-smoke.js)
(cd "$tmp_dir" && node scripts/cli-browser-login-flow-smoke.js)
(cd "$tmp_dir" && node scripts/cli-install-smoke.js)
(cd "$tmp_dir" && node scripts/user-session-token-boundary-smoke.js)
(cd "$tmp_dir" && node scripts/sdk-spawn-runtime-smoke.js)
(cd "$tmp_dir" && node scripts/node-lifecycle-contract-smoke.js)
(cd "$tmp_dir" && node scripts/vscode-extension-smoke.js)
(cd "$tmp_dir" && node scripts/vscode-f5-smoke.js)
(cd "$tmp_dir" && node scripts/node-attach-smoke.js)
(cd "$tmp_dir" && node scripts/local-services-smoke.js)
(cd "$tmp_dir" && node scripts/cancellation-smoke.js)
(cd "$tmp_dir" && node scripts/cli-local-run-smoke.js)
(cd "$tmp_dir" && node scripts/artifact-download-smoke.js)
(cd "$tmp_dir" && node scripts/artifact-export-smoke.js)
(cd "$tmp_dir" && node scripts/operator-panel-smoke.js)
(cd "$tmp_dir" && node scripts/source-preparation-smoke.js)
(cd "$tmp_dir" && node scripts/scheduler-placement-smoke.js)
(cd "$tmp_dir" && node scripts/windows-best-effort-smoke.js)
(cd "$tmp_dir" && node scripts/windows-validation-contract-smoke.js)
(cd "$tmp_dir" && node scripts/quic-smoke.js)
(cd "$tmp_dir" && node scripts/dap-smoke.js)
(cd "$tmp_dir" && node scripts/flagship-demo-smoke.js)