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. - When modifying any data provider (BigQuery or PostgreSQL), ensure parity between both implementations. Changes to query logic, filtering, or returned data in one provider must be reflected in the other.
- Use
go vetandgo test ./pkg/...to validate changes before resorting to a full e2e run. - Run
make e2e 2>&1 | tee e2e-test.logto verify your changes don't break end-to-end tests. You MUST 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.
This file was generated by APM CLI. Do not edit manually.
To regenerate: apm compile