docs: publish Preview 19 dogfood evidence
Export the reviewed allowlisted snapshot from private source commit 05928cebd01b586cf9e9d4b8c8537a7605a6068c. This records the exact candidate, bounded capacity result, stateful migration scratch requirement, authenticated batch identity proof, and immediate live acceptance evidence. AI-Assisted: OpenAI Codex Signed-off-by: Cole Speelman <crspeelman@gmail.com>
This commit is contained in:
Executable
+47
@@ -0,0 +1,47 @@
|
||||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: AGPL-3.0-only
|
||||
set -euo pipefail
|
||||
root=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
|
||||
cd "$root"
|
||||
|
||||
test "$(node -p 'require("./test/browser/node_modules/@playwright/test/package.json").version')" = 1.62.1
|
||||
|
||||
campaign_dir=$(mktemp -d)
|
||||
fixture_pid=
|
||||
cleanup() {
|
||||
if test -n "$fixture_pid"; then
|
||||
kill -TERM "$fixture_pid" 2>/dev/null || true
|
||||
wait "$fixture_pid" 2>/dev/null || true
|
||||
fi
|
||||
rm -rf "$campaign_dir"
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
fixture=${OBSERVATORY_BROWSER_FIXTURE:-}
|
||||
if test -z "$fixture"; then
|
||||
test "$(go env GOVERSION)" = go1.26.6
|
||||
go build -buildvcs=false -trimpath -tags observatory_browser_fixture -o "$campaign_dir/fixture" ./internal/browsertest
|
||||
fixture="$campaign_dir/fixture"
|
||||
else
|
||||
case "$fixture" in /*) ;; *) exit 1;; esac
|
||||
test -x "$fixture"
|
||||
fi
|
||||
"$fixture" >"$campaign_dir/origin" 2>"$campaign_dir/fixture.log" &
|
||||
fixture_pid=$!
|
||||
for _ in $(seq 1 100); do
|
||||
if test "$(wc -l <"$campaign_dir/origin")" -ge 2; then break; fi
|
||||
if ! kill -0 "$fixture_pid" 2>/dev/null; then
|
||||
cat "$campaign_dir/fixture.log" >&2
|
||||
exit 1
|
||||
fi
|
||||
sleep 0.1
|
||||
done
|
||||
origin=$(head -n 1 "$campaign_dir/origin")
|
||||
spki=$(sed -n '2p' "$campaign_dir/origin")
|
||||
case "$origin" in https://localhost:*) ;; *) cat "$campaign_dir/fixture.log" >&2; exit 1;; esac
|
||||
case "$spki" in *[!A-Za-z0-9+/=]*|'') exit 1;; esac
|
||||
|
||||
OBSERVATORY_BROWSER_ORIGIN="$origin" OBSERVATORY_BROWSER_SPKI="$spki" node test/browser/campaign.mjs
|
||||
if test -d .git; then
|
||||
test -z "$(git status --porcelain=v1 --untracked-files=all -- . ':!test/browser/node_modules')"
|
||||
fi
|
||||
Executable
+35
@@ -0,0 +1,35 @@
|
||||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: AGPL-3.0-only
|
||||
set -euo pipefail
|
||||
root=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
|
||||
cd "$root"
|
||||
test "$(uname -s)" = Linux
|
||||
|
||||
campaign_dir=$(mktemp -d)
|
||||
cleanup() { rm -rf "$campaign_dir"; }
|
||||
trap cleanup EXIT
|
||||
fixture=${OBSERVATORY_CAPACITY_FIXTURE:-}
|
||||
if test -z "$fixture"; then
|
||||
test "$(go env GOVERSION)" = go1.26.6
|
||||
CGO_ENABLED=0 go build -buildvcs=false -trimpath -tags observatory_capacity_fixture -o "$campaign_dir/observatory-capacity" ./internal/capacitytest
|
||||
fixture="$campaign_dir/observatory-capacity"
|
||||
else
|
||||
case "$fixture" in /*) ;; *) exit 2;; esac
|
||||
test -x "$fixture"
|
||||
fi
|
||||
|
||||
case "${OBSERVATORY_CAPACITY_MODE:-development}" in
|
||||
development)
|
||||
"$fixture" \
|
||||
-sustain-rate 200 -sustain-duration 5s \
|
||||
-burst-rate 1000 -burst-duration 2s \
|
||||
-minimum-primary-observations 20000 -query-iterations 3
|
||||
;;
|
||||
release)
|
||||
"$fixture" \
|
||||
-require-cgroup -expected-cpus 4 -expected-memory-bytes 8589934592
|
||||
;;
|
||||
*) exit 2;;
|
||||
esac
|
||||
|
||||
test -z "$(git status --porcelain=v1 --untracked-files=all)"
|
||||
Executable
+44
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: AGPL-3.0-only
|
||||
set -euo pipefail
|
||||
root=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
|
||||
test -s "$root/LICENSE"
|
||||
test -s "$root/COPYRIGHT"
|
||||
test -s "$root/examples/LICENSE"
|
||||
|
||||
while IFS= read -r file; do
|
||||
case $file in
|
||||
*.sando.go)
|
||||
grep -Fq '// Code generated by himesan; DO NOT EDIT.' "$file" || { echo "generated provenance missing: $file" >&2; exit 1; }
|
||||
source=${file%.go}
|
||||
grep -Fq 'SPDX-License-Identifier: AGPL-3.0-only' "$source" || { echo "generated source licence missing: $source" >&2; exit 1; }
|
||||
;;
|
||||
*)
|
||||
grep -Fq 'SPDX-License-Identifier: AGPL-3.0-only' "$file" || { echo "missing AGPL SPDX identifier: $file" >&2; exit 1; }
|
||||
;;
|
||||
esac
|
||||
done < <(find "$root/cmd" "$root/internal" -type f \( -name '*.go' -o -name '*.sando' -o -name '*.css' -o -name '*.js' -o -name '*.svg' \) -print | LC_ALL=C sort)
|
||||
|
||||
while IFS= read -r file; do
|
||||
grep -Fq 'SPDX-License-Identifier: AGPL-3.0-only' "$file" || { echo "missing AGPL SPDX identifier: $file" >&2; exit 1; }
|
||||
done < <(find "$root/docs" "$root/scripts" -type f \( -name '*.md' -o -name '*.sh' \) -print | LC_ALL=C sort)
|
||||
|
||||
for file in Caddyfile.observatory observatory-agent.service observatory.env.example observatory.service; do
|
||||
grep -Fq 'SPDX-License-Identifier: AGPL-3.0-only' "$root/release/$file" || { echo "missing AGPL SPDX identifier: release/$file" >&2; exit 1; }
|
||||
done
|
||||
for file in agent.json server.json tend.json; do
|
||||
test "$(cat "$root/release/$file.license")" = 'SPDX-License-Identifier: AGPL-3.0-only'
|
||||
done
|
||||
|
||||
for file in README.md SECURITY.md LICENSES.md .gitignore .gitattributes; do
|
||||
grep -Fq 'SPDX-License-Identifier: AGPL-3.0-only' "$root/$file" || { echo "missing AGPL SPDX identifier: $file" >&2; exit 1; }
|
||||
done
|
||||
for file in Caddyfile.sensitive-access-log README.md observatory-agent.service; do
|
||||
grep -Fq 'SPDX-License-Identifier: 0BSD' "$root/examples/$file" || { echo "missing 0BSD SPDX identifier: examples/$file" >&2; exit 1; }
|
||||
done
|
||||
for file in agent-credential.json agent-enrollment.json agent.json server.json; do
|
||||
test "$(cat "$root/examples/$file.license")" = 'SPDX-License-Identifier: 0BSD'
|
||||
done
|
||||
grep -Fq '"license": "AGPL-3.0-only"' "$root/test/browser/package.json"
|
||||
grep -Fq '"license": "AGPL-3.0-only"' "$root/test/browser/package-lock.json"
|
||||
echo "license boundaries verified"
|
||||
Executable
+55
@@ -0,0 +1,55 @@
|
||||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: AGPL-3.0-only
|
||||
set -euo pipefail
|
||||
root=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
|
||||
usage(){ echo "Usage: export-public.sh --destination ABSOLUTE-PATH" >&2; }
|
||||
destination=
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case $1 in
|
||||
--destination) destination=$2; shift 2 ;;
|
||||
*) usage; exit 2 ;;
|
||||
esac
|
||||
done
|
||||
[[ $destination == /* && $destination != / && ! -e $destination ]] || { usage; exit 2; }
|
||||
destination=$(realpath -m "$destination"); root=$(realpath -e "$root")
|
||||
case $destination/ in "$root"/*) echo "destination must be outside the private worktree" >&2; exit 1;; esac
|
||||
git_dir_raw=$(git -C "$root" rev-parse --git-dir)
|
||||
common_dir_raw=$(git -C "$root" rev-parse --git-common-dir)
|
||||
[[ $git_dir_raw == /* ]] || git_dir_raw=$root/$git_dir_raw
|
||||
[[ $common_dir_raw == /* ]] || common_dir_raw=$root/$common_dir_raw
|
||||
git_dir=$(realpath -e "$git_dir_raw")
|
||||
common_dir=$(realpath -e "$common_dir_raw")
|
||||
case $destination/ in "$git_dir"/*|"$common_dir"/*) echo "destination must be outside Git metadata" >&2; exit 1;; esac
|
||||
[[ -z $(git -C "$root" status --porcelain=v1 --untracked-files=all) ]] || { echo "private worktree is not clean" >&2; exit 1; }
|
||||
commit=$(git -C "$root" rev-parse HEAD)
|
||||
tree=$(git -C "$root" rev-parse HEAD^{tree})
|
||||
remote=$(git -C "$root" ls-remote --exit-code origin refs/heads/main | awk 'NR==1{print $1}')
|
||||
[[ $remote == "$commit" ]] || { echo "private HEAD is not exact pushed origin/main" >&2; exit 1; }
|
||||
allow=$root/scripts/public-snapshot.allow
|
||||
LC_ALL=C sort -c "$allow"
|
||||
[[ $(LC_ALL=C sort "$allow" | uniq -d | wc -l) -eq 0 ]]
|
||||
mapfile -t files <"$allow"
|
||||
[[ ${#files[@]} -gt 0 ]]
|
||||
for file in "${files[@]}"; do
|
||||
[[ -n $file && $file != /* && $file != *..* && $file != .gitea/* && $file != .github/* ]]
|
||||
git -C "$root" cat-file -e "$commit:$file"
|
||||
done
|
||||
parent=$(dirname "$destination")
|
||||
mkdir -p "$parent"
|
||||
stage=$(mktemp -d "$parent/.observatory-public.XXXXXX")
|
||||
trap 'rm -rf -- "$stage"' EXIT
|
||||
git -C "$root" archive "$commit" -- "${files[@]}" | tar -xf - -C "$stage"
|
||||
while IFS= read -r file; do
|
||||
relative=${file#"$stage"/}
|
||||
cmp "$file" "$root/$relative"
|
||||
done < <(find "$stage" -type f -print | LC_ALL=C sort)
|
||||
epoch=$(git -C "$root" show -s --format=%ct "$commit")
|
||||
printf '{"schema_version":1,"source_commit":"%s","source_tree":"%s","source_date_epoch":%s,"file_count":%d}\n' "$commit" "$tree" "$epoch" "${#files[@]}" >"$stage/PUBLIC-SNAPSHOT.json"
|
||||
(cd "$stage" && sha256sum PUBLIC-SNAPSHOT.json >PUBLIC-SNAPSHOT.sha256)
|
||||
if (cd "$stage" && rg -n --hidden --glob '!.git/**' --glob '!PUBLIC-SNAPSHOT.json' --glob '!scripts/export-public.sh' '/home/cole|/tmp/gamertan-observatory-identity|BEGIN (RSA|OPENSSH|EC) PRIVATE KEY|gitea-api\.token|observatory-dev\.git|192\.168\.' .); then
|
||||
echo "private material found" >&2
|
||||
exit 1
|
||||
fi
|
||||
mv "$stage" "$destination"
|
||||
trap - EXIT
|
||||
printf 'destination=%s\nsource_commit=%s\nsource_tree=%s\n' "$destination" "$commit" "$tree"
|
||||
Executable
+18
@@ -0,0 +1,18 @@
|
||||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: AGPL-3.0-only
|
||||
set -euo pipefail
|
||||
root=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
|
||||
cd "$root"
|
||||
|
||||
# Complete but bounded dogfood evidence. Release-scale capacity and extended
|
||||
# assurance remain explicit milestone campaigns.
|
||||
./scripts/verify.sh
|
||||
|
||||
fuzz_time=${OBSERVATORY_PREVIEW_FUZZ_TIME:-5s}
|
||||
go test -buildvcs=false ./internal/query -run '^$' -fuzz '^FuzzParse$' -fuzztime "$fuzz_time"
|
||||
go test -buildvcs=false ./internal/nativeprotocol -run '^$' -fuzz '^FuzzParseEnvelopeHeaders$' -fuzztime "$fuzz_time"
|
||||
go test -buildvcs=false ./internal/otlp -run '^$' -fuzz '^FuzzDecode$' -fuzztime "$fuzz_time"
|
||||
go test -buildvcs=false ./internal/collector -run '^$' -fuzz '^FuzzTendCollector$' -fuzztime "$fuzz_time"
|
||||
|
||||
OBSERVATORY_CAPACITY_MODE=development ./scripts/capacity-campaign.sh
|
||||
test -z "$(git status --porcelain=v1 --untracked-files=all)"
|
||||
@@ -0,0 +1,199 @@
|
||||
.gitattributes
|
||||
.gitignore
|
||||
COPYRIGHT
|
||||
LICENSE
|
||||
LICENSES.md
|
||||
README.md
|
||||
SECURITY.md
|
||||
cmd/observatory/main.go
|
||||
cmd/observatory/main_test.go
|
||||
cmd/observatory/release_test.go
|
||||
docs/ADAPTIVE_PROJECTIONS.md
|
||||
docs/AGENT.md
|
||||
docs/ARCHITECTURE.md
|
||||
docs/BOOTSTRAP.md
|
||||
docs/CAPACITY.md
|
||||
docs/DASHBOARDS.md
|
||||
docs/DEPLOYMENT.md
|
||||
docs/INCIDENTS.md
|
||||
docs/INTERFACE.md
|
||||
docs/PERFORMANCE.md
|
||||
docs/PUBLIC_SNAPSHOT.md
|
||||
docs/PWA.md
|
||||
docs/QUERY.md
|
||||
docs/RECOVERY.md
|
||||
docs/RETENTION.md
|
||||
docs/ROADMAP.md
|
||||
docs/SCHEMA.md
|
||||
docs/SECURITY_CAMPAIGN.md
|
||||
docs/TEND.md
|
||||
examples/Caddyfile.sensitive-access-log
|
||||
examples/LICENSE
|
||||
examples/README.md
|
||||
examples/agent-credential.json
|
||||
examples/agent-credential.json.license
|
||||
examples/agent-enrollment.json
|
||||
examples/agent-enrollment.json.license
|
||||
examples/agent.json
|
||||
examples/agent.json.license
|
||||
examples/observatory-agent.service
|
||||
examples/server.json
|
||||
examples/server.json.license
|
||||
go.mod
|
||||
go.sum
|
||||
internal/agent/agent.go
|
||||
internal/agent/agent_test.go
|
||||
internal/agentclient/client.go
|
||||
internal/agentclient/client_test.go
|
||||
internal/agentstate/state.go
|
||||
internal/agentstate/state_test.go
|
||||
internal/browsertest/main.go
|
||||
internal/capacitytest/main.go
|
||||
internal/capacitytest/main_test.go
|
||||
internal/collector/collector.go
|
||||
internal/collector/collector_test.go
|
||||
internal/config/config.go
|
||||
internal/config/config_test.go
|
||||
internal/edgealert/evaluator.go
|
||||
internal/edgealert/evaluator_test.go
|
||||
internal/hostmetrics/hostmetrics.go
|
||||
internal/hostmetrics/hostmetrics_test.go
|
||||
internal/httpserver/explore.go
|
||||
internal/httpserver/incidents.go
|
||||
internal/httpserver/manage.go
|
||||
internal/httpserver/native_replay_benchmark_test.go
|
||||
internal/httpserver/push.go
|
||||
internal/httpserver/pwa.go
|
||||
internal/httpserver/refresh.go
|
||||
internal/httpserver/refresh_test.go
|
||||
internal/httpserver/server.go
|
||||
internal/httpserver/server_test.go
|
||||
internal/httpserver/source_alerts_test.go
|
||||
internal/httpserver/ui.go
|
||||
internal/httpserver/ui_test.go
|
||||
internal/identity/identity.go
|
||||
internal/identity/identity_test.go
|
||||
internal/identity/retention.go
|
||||
internal/model/alert_transition.go
|
||||
internal/model/alert_transition_test.go
|
||||
internal/model/model.go
|
||||
internal/model/model_test.go
|
||||
internal/nativeprotocol/headers.go
|
||||
internal/nativeprotocol/headers_test.go
|
||||
internal/otlp/otlp.go
|
||||
internal/otlp/otlp_test.go
|
||||
internal/query/match.go
|
||||
internal/query/match_test.go
|
||||
internal/query/planner.go
|
||||
internal/query/planner_test.go
|
||||
internal/query/query.go
|
||||
internal/query/query_test.go
|
||||
internal/query/result.go
|
||||
internal/schema/schema.go
|
||||
internal/schema/schema_test.go
|
||||
internal/segment/store.go
|
||||
internal/segment/store_test.go
|
||||
internal/site/app.sando
|
||||
internal/site/app.sando.go
|
||||
internal/site/assets.go
|
||||
internal/site/assets/observatory.svg
|
||||
internal/site/assets/site.css
|
||||
internal/site/assets/site.js
|
||||
internal/site/assets_test.go
|
||||
internal/site/dashboard.sando
|
||||
internal/site/dashboard.sando.go
|
||||
internal/site/explore.sando
|
||||
internal/site/explore.sando.go
|
||||
internal/site/head.sando
|
||||
internal/site/head.sando.go
|
||||
internal/site/incidents.sando
|
||||
internal/site/incidents.sando.go
|
||||
internal/site/landing.sando
|
||||
internal/site/landing.sando.go
|
||||
internal/site/login.sando
|
||||
internal/site/login.sando.go
|
||||
internal/site/offline.sando
|
||||
internal/site/offline.sando.go
|
||||
internal/site/offline_incidents.sando
|
||||
internal/site/offline_incidents.sando.go
|
||||
internal/site/password.sando
|
||||
internal/site/password.sando.go
|
||||
internal/site/pwa.go
|
||||
internal/site/pwa_test.go
|
||||
internal/site/result_table.sando
|
||||
internal/site/result_table.sando.go
|
||||
internal/site/site_footer.sando
|
||||
internal/site/site_footer.sando.go
|
||||
internal/site/site_header.sando
|
||||
internal/site/site_header.sando.go
|
||||
internal/site/views.go
|
||||
internal/spool/spool.go
|
||||
internal/spool/spool_test.go
|
||||
internal/storage/activation.go
|
||||
internal/storage/activation_test.go
|
||||
internal/storage/base_indexes.go
|
||||
internal/storage/base_indexes_test.go
|
||||
internal/storage/batch_envelope.go
|
||||
internal/storage/batch_metadata.go
|
||||
internal/storage/batch_metadata_test.go
|
||||
internal/storage/cold_query.go
|
||||
internal/storage/dashboards.go
|
||||
internal/storage/dashboards_test.go
|
||||
internal/storage/descriptors.go
|
||||
internal/storage/descriptors_test.go
|
||||
internal/storage/incidents.go
|
||||
internal/storage/incidents_test.go
|
||||
internal/storage/log_rollup.go
|
||||
internal/storage/log_summary_query.go
|
||||
internal/storage/log_summary_query_test.go
|
||||
internal/storage/migration_test.go
|
||||
internal/storage/processlock.go
|
||||
internal/storage/processlock_test.go
|
||||
internal/storage/projector.go
|
||||
internal/storage/projector_test.go
|
||||
internal/storage/push.go
|
||||
internal/storage/push_test.go
|
||||
internal/storage/query.go
|
||||
internal/storage/query_test.go
|
||||
internal/storage/raw_query_candidate.go
|
||||
internal/storage/raw_query_candidate_test.go
|
||||
internal/storage/rebuild.go
|
||||
internal/storage/rebuild_test.go
|
||||
internal/storage/retention.go
|
||||
internal/storage/retention_test.go
|
||||
internal/storage/rollup.go
|
||||
internal/storage/rollup_query.go
|
||||
internal/storage/rollup_query_test.go
|
||||
internal/storage/source_alerts.go
|
||||
internal/storage/source_alerts_test.go
|
||||
internal/storage/storage.go
|
||||
internal/storage/storage_test.go
|
||||
internal/tailer/tailer.go
|
||||
internal/tailer/tailer_test.go
|
||||
internal/version/version.go
|
||||
internal/webpush/notifier.go
|
||||
internal/webpush/notifier_test.go
|
||||
internal/webpush/sender.go
|
||||
internal/webpush/sender_test.go
|
||||
release/Caddyfile.observatory
|
||||
release/agent.json
|
||||
release/agent.json.license
|
||||
release/observatory-agent.service
|
||||
release/observatory.env.example
|
||||
release/observatory.service
|
||||
release/server.json
|
||||
release/server.json.license
|
||||
release/tend.json
|
||||
release/tend.json.license
|
||||
scripts/browser-campaign.sh
|
||||
scripts/capacity-campaign.sh
|
||||
scripts/check-licenses.sh
|
||||
scripts/export-public.sh
|
||||
scripts/preview-gate.sh
|
||||
scripts/public-snapshot.allow
|
||||
scripts/security-campaign.sh
|
||||
scripts/test-public-snapshot.sh
|
||||
scripts/verify.sh
|
||||
test/browser/campaign.mjs
|
||||
test/browser/package-lock.json
|
||||
test/browser/package.json
|
||||
Executable
+27
@@ -0,0 +1,27 @@
|
||||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: AGPL-3.0-only
|
||||
set -euo pipefail
|
||||
root=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
|
||||
cd "$root"
|
||||
|
||||
test "$(go env GOVERSION)" = go1.26.6
|
||||
fuzz_time=${OBSERVATORY_FUZZ_TIME:-30s}
|
||||
|
||||
go test -buildvcs=false ./internal/query -run '^$' -fuzz '^FuzzParse$' -fuzztime "$fuzz_time"
|
||||
go test -buildvcs=false ./internal/otlp -run '^$' -fuzz '^FuzzDecode$' -fuzztime "$fuzz_time"
|
||||
go test -buildvcs=false ./internal/collector -run '^$' -fuzz '^FuzzTendCollector$' -fuzztime "$fuzz_time"
|
||||
|
||||
go test -buildvcs=false -race -count=1 \
|
||||
./cmd/observatory \
|
||||
./internal/config \
|
||||
./internal/httpserver \
|
||||
./internal/identity \
|
||||
./internal/model \
|
||||
./internal/query \
|
||||
./internal/segment \
|
||||
./internal/spool \
|
||||
./internal/storage \
|
||||
./internal/tailer \
|
||||
./internal/webpush
|
||||
|
||||
git diff --check
|
||||
Executable
+20
@@ -0,0 +1,20 @@
|
||||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: AGPL-3.0-only
|
||||
set -euo pipefail
|
||||
root=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
|
||||
work=$(mktemp -d)
|
||||
trap 'rm -rf -- "$work"' EXIT
|
||||
destination=$work/public
|
||||
"$root/scripts/export-public.sh" --destination "$destination" >/dev/null
|
||||
test -f "$destination/PUBLIC-SNAPSHOT.json"
|
||||
test -f "$destination/PUBLIC-SNAPSHOT.sha256"
|
||||
(cd "$destination" && sha256sum -c PUBLIC-SNAPSHOT.sha256)
|
||||
test ! -e "$destination/.git"
|
||||
test ! -e "$destination/.gitea"
|
||||
test ! -e "$destination/.github"
|
||||
while IFS= read -r file; do
|
||||
cmp "$root/$file" "$destination/$file"
|
||||
done <"$root/scripts/public-snapshot.allow"
|
||||
(cd "$destination" && GOWORK=off go test -buildvcs=false ./...)
|
||||
(cd "$destination" && GOWORK=off go vet -buildvcs=false ./...)
|
||||
echo "public snapshot isolation verified"
|
||||
Executable
+32
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: AGPL-3.0-only
|
||||
set -euo pipefail
|
||||
root=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
|
||||
cd "$root"
|
||||
./scripts/check-licenses.sh
|
||||
test "$(go env GOVERSION)" = go1.26.6
|
||||
test "$(himesan version --json)" = '{"compiler":"v1.0.0-beta.2","runtime_abi":"sando.v1","go":"go1.26.6","features":["lsp-stdio"]}'
|
||||
test "$(go list -m -f '{{.Version}}' gamertan.com/tend)" = v0.2.0-preview.2
|
||||
go tool tend version | grep -Fq '"version": "v0.2.0-preview.2"'
|
||||
go tool tend check --config "$root/release/tend.json" >/dev/null
|
||||
himesan check -json . >/dev/null
|
||||
|
||||
verify_dir=$(mktemp -d)
|
||||
trap 'rm -rf "$verify_dir"' EXIT
|
||||
find internal -type f -name '*.sando.go' -print | LC_ALL=C sort >"$verify_dir/generated"
|
||||
test -s "$verify_dir/generated"
|
||||
while IFS= read -r file; do sha256sum "$file"; stat -c '%y %n' "$file"; done <"$verify_dir/generated" >"$verify_dir/before"
|
||||
himesan generate -json . >/dev/null
|
||||
himesan generate -json . >/dev/null
|
||||
while IFS= read -r file; do sha256sum "$file"; stat -c '%y %n' "$file"; done <"$verify_dir/generated" >"$verify_dir/after"
|
||||
cmp "$verify_dir/before" "$verify_dir/after"
|
||||
|
||||
test -z "$(gofmt -l .)"
|
||||
go test -buildvcs=false ./...
|
||||
go test -buildvcs=false -tags observatory_browser_fixture ./internal/browsertest
|
||||
go test -buildvcs=false -tags observatory_capacity_fixture ./internal/capacitytest
|
||||
go test -buildvcs=false -race ./...
|
||||
go vet -buildvcs=false ./...
|
||||
go build -buildvcs=false -trimpath -o "$verify_dir/observatory" ./cmd/observatory
|
||||
test "$(go list -buildvcs=false -deps ./cmd/observatory | grep '^gamertan.com/sandwich-hime' || true)" = 'gamertan.com/sandwich-hime/sando'
|
||||
git diff --check
|
||||
Reference in New Issue
Block a user