Run migrations: go run ./cmd/sippy migrate --database-dsn $SIPPY_DATABASE_DSN
If SIPPY_DATABASE_DSN is not set, use the dev default: postgresql://postgres:password@localhost:5432/postgres
Run lint: CI=true make lint
CI=true makes hack/go-lint.sh use the locally installed golangci-lint instead of spawning a container.
Run unit tests: make test
This runs Go tests via gotestsum and sippy-ng Jest tests.
Sippy (CIPI - Continuous Integration Private Investigator) is a tool used within the OpenShift engineering organization to analyze CI job results. Its primary goals are to:
- Provide insights into job and test statistics.
- Monitor release health and detect regressions.
- Support release management decisions through statistical analysis (e.g., Component Readiness).
The system consists of:
- A Go-based API backend.
- A React/Material-UI frontend (located in
sippy-ng). - Data sources including PostgreSQL, and BigQuery
Favor clarity and maintainability over cleverness. Comments should be minimal, helpful, and explain the "why" not the "what".
- When adding or updating APIs, use HATEOAS in responses to support discoverability and consistent client interaction.
- Follow idiomatic Go practices.
- After making changes, always run
gofmt -won modified files to ensure proper formatting.
- Never run
make e2emore than once per request. E2e tests issue expensive BigQuery queries and take several minutes. Runmake e2eonly when explicitly asked, capture the output on that single run, and read the log file (e2e-test.log) for results. Do not re-run e2e just to grep for different things - all output is already in the log file. - The same applies to
go test ./test/e2e/...- never run it repeatedly. - Use
go vetandgo test(for unit tests) to validate changes before resorting to a full e2e run.
This file was generated by APM CLI. Do not edit manually.
To regenerate: apm compile