You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Issue
`ifrit` (`github.com/tedsuo/ifrit`) is not maintained.
# Fix
Replace `ifrit` with a small internal `helpers/runner` package built on Go stdlib
(`context`, `net/http`, `os/signal`). The package provides the same primitives
that `ifrit` did: a `Runner` interface, a `RunFunc` adapter, named `Member` structs,
and `StartOrdered` for ordered startup with LIFO graceful shutdown triggered by
`SIGINT`/`SIGTERM` or context cancellation.
A companion `helpers/runner/testrunner` package replaces `ginkgomon_v2` for tests,
offering `Invoke`/`Interrupt`/`Kill` helpers for in-process runners and a
`CmdRunner` that starts external binaries and waits for a configurable start-check
string in their combined stdout+stderr before signalling ready.
All five Go services (`api`, `eventgenerator`, `scalingengine`, `metricsforwarder`,
`operator`) and the shared `startup`, `sync`, and `helpers` packages are updated
accordingly. `ifrit` is removed from `go.mod`.
Copy file name to clipboardExpand all lines: CLAUDE.md
+11Lines changed: 11 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -57,6 +57,17 @@ make generate-fakes # Generate test mocks with Counterfeiter
57
57
make generate-openapi-generated-clients-and-servers # Generate OpenAPI clients/servers
58
58
```
59
59
60
+
### Verifying Bigger Changes
61
+
62
+
Always run these two steps to verify bigger changes (refactors, dependency replacements, new packages):
63
+
64
+
```bash
65
+
make clean check # Clean, lint, build, and run all unit tests (no DB needed)
66
+
make integration # Run integration tests (requires PostgreSQL: make start-db first)
67
+
```
68
+
69
+
`make clean check` is the primary gate — it runs a full clean build plus all non-DB unit tests with the race detector. `make integration` catches DB-dependent behaviour and inter-service contracts.
70
+
60
71
### Deployment
61
72
```bash
62
73
make mta-deploy # Deploy to Cloud Foundry using MTA
0 commit comments