Files
Paul HittandClaude Opus 5.5 9099b6866c
ci / vectors-head (pull_request) Successful in 11s
ci / secret-sweep (pull_request) Successful in 22s
ci / parity-scrub (pull_request) Failing after 13s
ci / unit-tests (pull_request) Failing after 30m2s
ci / ui-tests (pull_request) Failing after 30m2s
ci: move CI to Gitea Actions
Translates .gitlab-ci.yml to .gitea/workflows/ci.yml and deletes it.
Every gate is kept: secret sweep, unit tests with the vector pin check and
the 700-test floor, UI tests with the 10-ran floor, vectors-head (advisory),
parity scrub.

Xcode jobs run on the pauls-imac runner; the sweep, vectors-head and the
scrub run on mac1/mac2. Builds and tests only, no signing.

The Obfs4 submodule and the sibling clones now come from
git.extant2000.com/extant2000, as do the README links.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 11:03:09 -04:00

1.5 KiB

Why this repository pins flamenet-e2e

.e2e-ref is the commit of flamenet-e2e that the copies in Tests/Vectors/ are checked against. See Tests/Vectors/PROVENANCE.md for why they are copies at all.

The pin exists because a merge in that repository could stop all work in this one. flamenet-relay learned it the hard way, its jobs cloned main at HEAD, and that switch was thrown three times in twelve hours (flamenet-relay#56), once producing a deadlock with no way out from inside either repository. Its .e2e-ref.md has the full account.

A pin alone is worse than HEAD, though. The argument for HEAD is real: an app tested against a pinned old harness is tested against a pinned old spec. If the vectors move and nothing says so, ProtocolVectorTests quietly goes on checking last month's protocol and reports green, which is precisely the failure that suite exists to prevent, reintroduced one level up.

That is what vectors-head is for, and why it is continue-on-error: true in .gitea/workflows/ci.yml. Being behind is LOUD and NON-BLOCKING. Being broken is a hard stop.

Taking an update

One MR, all parts together:

  1. Put the new e2e commit in .e2e-ref.
  2. cp <e2e>/test/vectors/*.json Tests/Vectors/
  3. Read what changed before accepting it. A moved vector is a protocol change, and this app is one of the two ends that has to agree about it, the other is flamenet-messenger-android, which pins the same commit and should move in step.