Skip to content

Latest commit

 

History

History
60 lines (39 loc) · 2.47 KB

File metadata and controls

60 lines (39 loc) · 2.47 KB

CLAUDE.md

Project Standards

Files matching **

Database migration

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

Linting

Run lint: CI=true make lint

CI=true makes hack/go-lint.sh use the locally installed golangci-lint instead of spawning a container.

Testing

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".

Files matching **/*.go

  • 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 -w on 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.

Files matching **/*_test.go

  • Use go vet and go test ./pkg/... to validate changes before resorting to a full e2e run.
  • Run make e2e 2>&1 | tee e2e-test.log to 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