Building Cascade
You need Go 1.27.1.
make build # bin/hotloop-cascademake image # the container image, with Podmantest/run.sh # vet and every test with -race, against real servicesThe tests run against real services, never mocks. test/services/up.sh starts
them in Podman on a network of their own (Postgres, Hydra, a headless Chrome,
Mosquitto, a HotLoop gateway, ntfy, Gotify, a mail server, ERPNext, OpenLDAP and a Samba Active Directory controller), and test/run.sh runs the suite in a golang container on
that network. CI runs the same two scripts. A test whose service is missing
fails instead of skipping, because a skipped integration test is a test that
never ran. test/services/down.sh cleans up, and it only ever touches
containers it made.
The database is a setting. HOTLOOP_CASCADE_DATABASE is sqlite:<path> (the
default, under HOTLOOP_CASCADE_DATA_DIR) or a postgres:// URL, and every
store test runs against both.
No Docker and no Compose. Cascade ships for Podman (with Quadlet) and for k3s (with Helm).