This document collects contributor and behind-the-scenes material that is not needed in the primary operator README.
Start with:
../AGENTS.mdfor repository conventions;../ARCHITECTURE.mdfor components and data flow;../TODO.mdfor maintained roadmap and release gates; andRELEASING.mdfor the release process.
Do not run tests against production Redis. Start a disposable instance:
docker rm -f activity-relay-test-redis \
>/dev/null 2>&1 || true
docker run \
--detach \
--rm \
--name activity-relay-test-redis \
--publish 127.0.0.1:6381:6379 \
redis:7-alpine
until docker exec activity-relay-test-redis redis-cli ping |
grep -qx PONG
do
sleep 1
doneRun the normal and race suites against that disposable Redis:
REDIS_URL='redis://127.0.0.1:6381' \
go test -count=1 -p 1 ./...
REDIS_URL='redis://127.0.0.1:6381' \
go test -race -count=1 -p 1 ./...
go vet ./...
git diff --checkThen remove the disposable Redis instance:
docker rm -f activity-relay-test-redisWebsite and operational tooling have independent Python suites:
python3 -m unittest discover \
-s contrib/web \
-p 'test_*.py'
python3 -m unittest discover \
-s contrib/ops \
-p 'test_*.py'The cross-deployment validation matrix is maintained in
INTEGRATION-TESTING.md. It covers container and
native-package paths and the interoperability checks expected before release.
Debian/package lifecycle details and canonical artifact generation belong in
RELEASING.md, rather than the operator README.
Use the focused protocol documents when changing wire behavior:
DIRECTORY-CLIENT.md— Directory lifecycle, scheduling, persistence, and failure handling;HTTP-MESSAGE-SIGNATURES.md— HTTP signature profile;OUTBOUND-SIGNATURE-NEGOTIATION.md— destination-awaredualnegotiation;FEP-AE0C-COMPATIBILITY.md— relevant FEP compatibility;INTEROPERABILITY.md— implementation-specific validation and troubleshooting; andSECURITY.md— security boundaries and compatibility policy.
Before tagging any release, follow the complete checklist in
RELEASING.md. The canonical Forgejo artifact workflow is the
release-byte authority; GitHub remains a downstream mirror and independent
validation surface.