Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions .githooks/pre-push
Original file line number Diff line number Diff line change
Expand Up @@ -124,13 +124,6 @@ if changed 'docs/schemas/fixtures/**' '*verdict*' '*shipped-pattern*'; then
run_gate verdict-fixtures-check
fi

# build-tags runs `go vet` against every build-tag variant. Skip when
# no Go (or Makefile, which owns the build-tag list) changed.
if changed '*.go' 'Makefile'; then
echo "[pre-push] Go (or Makefile) changed → make build-tags"
run_gate build-tags
fi

# nccl-fr-rce-gate: stdlib-only dependency gate for the safe-pickle parser.
if changed 'module/pkg/nccl/fr_parser/**'; then
echo "[pre-push] nccl-fr parser changed → make nccl-fr-rce-gate"
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -129,8 +129,6 @@ jobs:
- uses: ./.github/actions/go-setup
- name: license-check
run: make license-check
- name: build-tags
run: make build-tags
- name: tidy-check
run: make tidy-check
- name: nccl_fr RCE gate
Expand Down
5 changes: 4 additions & 1 deletion .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -174,9 +174,12 @@ linters:
# Integration tests legitimately invoke subprocesses (G204) and
# hit localhost endpoints (G107) — they orchestrate built
# binaries against ephemeral servers under t.TempDir control.
# bench/e2e/ocb_scrape_test.go spawns ./_build/tracecore and
# scrapes its self-telemetry endpoint; rest of bench/e2e/ is
# in-process and unaffected.
- linters:
- gosec
path: internal/integration/.*_test\.go
path: bench/e2e/ocb_scrape_test\.go
text: "G204|G107"
# Component integration helpers spawn child processes
# (e.g. py-spy) under test-controlled args.
Expand Down
5 changes: 0 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -454,11 +454,6 @@ validator-recipe: build ## M6: validate each docs/integrations/examples/*.yaml
@scripts/validator-recipe.sh
@bash scripts/validator-recipe_test.sh

build-tags: ## go vet against each build-tag variant we ship. Cheaper than CI matrix; kept as a hook for future build-tag-gated paths (the `dcgm` tag was retired in PR-F.1).
@echo "vet (default)..."
@go vet ./...
@echo "All build-tag variants vet-clean."

dco-check: ## Verify DCO sign-off on every commit since origin/main.
@if ! git rev-parse --verify --quiet origin/main >/dev/null; then \
echo "origin/main is not available; fetch it first."; exit 1; \
Expand Down
167 changes: 0 additions & 167 deletions bench/canary/kueue-metric-surface.sh

This file was deleted.

22 changes: 0 additions & 22 deletions bench/canary/kueue-metric-surface.v0.17.3.baseline

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
// SPDX-License-Identifier: Apache-2.0

// Package integration holds end-to-end checks that span the OCB-built
// tracecore binary + a live process. These tests are skipped when
// ./_build/tracecore is missing so `go test ./...` on a fresh checkout
// stays green; CI runs `make build` before invoking the integration
// package so the binary is always present in pipeline runs.
// OCB-scrape end-to-end check: spins up the OCB-built tracecore
// binary and asserts the chart's *operator-facing self-telemetry
// contract* — namely that the binary keeps serving the upstream
// `otelcol_*` metric vocabulary on the same Prometheus endpoint the
// chart's service.telemetry.metrics.address points at. Dashboards
// on those names must keep working across upstream OCB version
// bumps; this test catches a silent metric-name rename before it
// ships.
//
// RFC-0013 PR-A2: this package was created when the legacy
// cmd/tracecore tree was deleted. Its single purpose is to falsify
// regressions in the chart's *operator-facing self-telemetry contract*
// — namely that the OCB binary keeps serving the upstream `otelcol_*`
// metric vocabulary on the same Prometheus endpoint the chart's
// service.telemetry.metrics.address points at. Dashboards on those
// names must keep working across upstream OCB version bumps; this
// test catches a silent metric-name rename before it ships.
package integration
// Skipped when ./_build/tracecore is missing so `go test ./...` on
// a fresh checkout stays green; CI runs `make build` before invoking
// this package so the binary is always present in pipeline runs.
// Co-located with the rest of the bench/e2e suite (steady-state +
// budget assertions) since all three exercise the same OCB-built
// binary; previously lived at internal/integration/ (RFC-0013 PR-A2).
package e2e

import (
"errors"
Expand All @@ -37,8 +38,8 @@ import (
// `make build` does not fail the suite.
func findBuiltBinary(t *testing.T) string {
t.Helper()
// Test file lives at internal/integration/ocb_scrape_test.go.
// Walk up two levels to land at the repo root.
// Test file lives at bench/e2e/ocb_scrape_test.go.
// Walk up three levels (file -> e2e -> bench -> repo root).
_, thisFile, _, ok := runtime.Caller(0)
if !ok {
t.Fatalf("runtime.Caller(0) failed")
Expand Down
2 changes: 1 addition & 1 deletion docs/MILESTONES.md
Original file line number Diff line number Diff line change
Expand Up @@ -371,5 +371,5 @@ Receiver alpha ──▶ Lane 1

**Serialization points** (where lanes coordinate at merge):
- `cmd/tracecore/components.go` - one-line registration edits per receiver
- `Makefile` - section comments per target (`make ci`, `make doc-check`, `make alert-check`, `make build-tags`, `make bench`, `make generate-fixtures`, `make release`)
- `Makefile` - section comments per target (`make ci`, `make doc-check`, `make alert-check`, `make bench`, `make generate-fixtures`, `make release`)
- `go.mod` - dependency additions reviewed at merge
2 changes: 1 addition & 1 deletion docs/migration/v0.1-to-v0.2.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ The two metrics the chart commits to keeping available across OCB version bumps
- `otelcol_process_uptime` — emitted by `service.telemetry` at startup; presence proves the binary is OCB-assembled and the self-tel server is wired through `service.telemetry.metrics.address`.
- `otelcol_receiver_accepted_metric_points` — emitted by the receiver helper once the first scrape lands; presence proves end-to-end pipeline liveness.

[`internal/integration/ocb_scrape_test.go`](../../internal/integration/ocb_scrape_test.go) (`TestOCBScrape_UpstreamMetricVocabulary`) is the regression gate: an upstream rename of either metric fails this test before it can ship.
[`bench/e2e/ocb_scrape_test.go`](../../bench/e2e/ocb_scrape_test.go) (`TestOCBScrape_UpstreamMetricVocabulary`) is the regression gate: an upstream rename of either metric fails this test before it can ship.

### In-tree receiver / exporter namespace alignment (RFC-0013 v0.1.0)

Expand Down
2 changes: 1 addition & 1 deletion docs/migration/v0.x-to-v1.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ The metric series `otelcol_process_uptime` and
`otelcol_receiver_accepted_metric_points` continue to be the two
liveness signals the chart commits to keeping available across OCB
version bumps; the regression gate is
[`internal/integration/ocb_scrape_test.go`](../../internal/integration/ocb_scrape_test.go)
[`bench/e2e/ocb_scrape_test.go`](../../bench/e2e/ocb_scrape_test.go)
(`TestOCBScrape_UpstreamMetricVocabulary`).

## 3. Verdict schema v1.0-rc1 published
Expand Down
2 changes: 1 addition & 1 deletion docs/notes/ci.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ PRINCIPLES §10 splits the inner loop into two budgets:
The "gates that catch the most defects per second" subset; runnable
on every save.
- `make ci-full` — strict superset. Adds test+coverage under -race,
generate-fixtures-check, build-tags, tidy-check, license-check,
generate-fixtures-check, tidy-check, license-check,
nccl-fr-rce-gate, register-lint, actionlint, zizmor,
ci-fuzz-nccl-fr, govulncheck, deprecation-check,
no-autoupdate-check, build, smoke-quickstart. ~2.5m on a dev laptop.
Expand Down
21 changes: 11 additions & 10 deletions docs/research/m16-kueue-production-followups.md
Original file line number Diff line number Diff line change
Expand Up @@ -177,15 +177,16 @@ disappear from operator dashboards.
**Blocker class:** doable now (post-alpha) — CI canary against a
`kind` cluster; no production data required.

**Status: DRAFT READY.** Canary script at
[`m16-kueue-spike/draft-receiver/canary/kueue-metric-surface.sh`](../../bench/canary/kueue-metric-surface.sh)
+ baseline at
[`kueue-metric-surface.v0.17.3.baseline`](../../bench/canary/kueue-metric-surface.v0.17.3.baseline)
(22 families pinned). Lands at `bench/canary/` with the M16
implementation PR; nightly workflow follows.

**Trigger:** post-alpha. **Artifact:**
`bench/canary/kueue-metric-surface.sh` running against a daily
**Status: WITHDRAWN.** Draft canary script + 22-family baseline
(previously at `bench/canary/kueue-metric-surface.sh` +
`kueue-metric-surface.v0.17.3.baseline`) deleted alongside the
in-tree Kueue receiver per RFC-0013 §7. If the metric-surface
canary becomes useful again for the `prometheusreceiver` recipe,
re-introduce as a recipe-side smoke (not a receiver gate) and
restore from git history.

**Trigger:** Kueue recipe adoption surfaces an operator-dashboard
drift incident. **Artifact:** recipe-side nightly smoke against a
`kind`-pinned Kueue install.

### P9. Failure-mode taxonomy completeness
Expand Down Expand Up @@ -473,5 +474,5 @@ M17/M18/M20 or AMD hardware).
- C8 — R1+R4 tests — **DONE in spike**; R2+R3 specified in RFC for the implementation PR.
- C9 — cap-semantics doc — **DONE** (RFC-0011 § "Cardinality cap semantics").
- C10 — values.yaml expansion — **DRAFT READY** (same artifact as C4).
- P8 — CI surface-drift canary — **DRAFT READY** (`bench/canary/`).
- P8 — CI surface-drift canary — **WITHDRAWN** (Kueue receiver deleted at v0.1.0 per RFC-0013 §7; restore from git history if revived as a recipe-side smoke).
- C2 — adversarial review — **PENDING** (triggered at implementation PR draft).
1 change: 0 additions & 1 deletion make/ci-full.mk
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ CI_FULL_DEPS += verdict-fixtures-check

# Static analysis
CI_FULL_DEPS += vet
CI_FULL_DEPS += build-tags
CI_FULL_DEPS += tidy-check
CI_FULL_DEPS += mod-verify
CI_FULL_DEPS += lint
Expand Down
2 changes: 1 addition & 1 deletion make/phony.mk
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ PHONY_TARGETS += register-lint actionlint zizmor
PHONY_TARGETS += doc-check doc-check-release no-autoupdate-check base-digest-check
PHONY_TARGETS += recipes-path-check
PHONY_TARGETS += anonymize-pod-evicted-fixture-check
PHONY_TARGETS += build-tags attribute-namespace-check deprecation-check
PHONY_TARGETS += attribute-namespace-check deprecation-check
PHONY_TARGETS += rfc-status-check
PHONY_TARGETS += cut-criteria-status cut-criteria-status-all cut-criteria-render cut-criteria-check
PHONY_TARGETS += slo-rules-check test-flake-audit makefile-hotfile-check
Expand Down
3 changes: 0 additions & 3 deletions make/verify.mk
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@ VERIFY_DEPS += license-check
VERIFY_DEPS += generate-fixtures-check
VERIFY_DEPS += verdict-fixtures-check

# Build-tag variants
VERIFY_DEPS += build-tags

# Security / RFC-bound gates
VERIFY_DEPS += nccl-fr-rce-gate
VERIFY_DEPS += register-lint
Expand Down
Loading
Loading