Files
Paul HittandClaude Opus 5.5 93d0986a2b
ci / checks (pull_request) Successful in 16s
ci / image (pull_request) Failing after 2m2s
ci / deploy (pull_request) Skipped
ci / swift (pull_request) Successful in 10m44s
CI: move to Gitea Actions; build and gate off the box, deploy over SSH
.gitlab-ci.yml becomes .gitea/workflows/ci.yml on mac1/mac2 (amd64), with
the same checks: secret sweep, swift build and test on swift:6.1-noble,
section 8 conformance at the pinned e2e commit, doc-page hashes, the
configuration doc and package completeness (HEAD variants advisory).

The image is built with --build-arg FN_RELEASE=<sha> and the staging gate
(Scripts/ci-staging-gate.sh, same checks as staging-gate.sh) runs against
that image before it is pushed. On main, deploy/gitea-deploy.sh pulls the
gated image on the box, dumps the database, tags it flamenet-relay:prod,
checks the edge and key_log row count, rolls back to :previous on failure,
and recreates the test fleet. The self-host compose pulls from
git.extant2000.com.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 14:05:48 -04:00

23 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
# Clone flamenet-e2e for CI and check out a commit (default: the .e2e-ref pin).
#
# Scripts/ci-fetch-e2e.sh <dir> [ref|HEAD]
#
# Gitea first. Until flamenet-e2e finishes its own move off GitLab the Gitea
# copy can lag the pin, so a missing commit falls back to the GitLab copy and
# says so. Drop the fallback once the e2e repository's GitLab project is archived.
set -euo pipefail
DIR="$1"
REF="${2:-$(cat "$(dirname "$0")/../.e2e-ref")}"
GITEA=https://git.extant2000.com/extant2000/flamenet-e2e.git
GITLAB=https://gitlab.com/extant2000/flamenet-e2e.git
export GIT_TERMINAL_PROMPT=0
rm -rf "$DIR"
git clone -q "$GITEA" "$DIR" 2>/dev/null || echo "WARNING: no readable flamenet-e2e on Gitea yet"
if [ ! -d "$DIR/.git" ] || { [ "$REF" != HEAD ] && ! git -C "$DIR" cat-file -e "$REF^{commit}" 2>/dev/null; }; then
echo "WARNING: e2e $REF is not on Gitea yet; using the GitLab copy"
rm -rf "$DIR"; git clone -q "$GITLAB" "$DIR"
fi
[ "$REF" = HEAD ] || git -C "$DIR" checkout -q "$REF"
echo "e2e at $(git -C "$DIR" rev-parse HEAD)"