chore(ci): add shared-lib scaffolding and functional coverage gate #3

Merged
argoyle merged 1 commits from chore/harden-lib-scaffolding into main 2026-06-15 17:53:45 +00:00
Owner

Bring the auth and logging libs up to the otelsetup/authz_client scaffolding standard.

Added

  • Lint/format/tooling: .editorconfig, .golangci.yml, .pre-commit-config.yaml (-local import grouping, gofumpt, golangci-lint-full, gitleaks, commitlint), .testcoverage.yml.
  • Release automation: .version, CHANGELOG.md, cliff.toml, and release.yaml (shared unboundsoftware/shared-workflows Release workflow — auto-tags from conventional commits).
  • renovate.json, CLAUDE.md.
  • pre-commit.yaml workflow.

CI

Replaced the minimal test-only ci.yaml with a functional cache-based coverage-regression gate mirroring the services: the PR test job restores the main coverage baseline from the Actions cache and fails on a drop; a non-gating post-merge coverage-baseline job records it (ADR-0010 carve-out). Job names test/vulnerabilities preserved to keep matching the branch-protection contexts (<repo> / test*, <repo> / vulnerabilities*).

Validation

  • gofumpt -l, go vet, go test -race, go mod tidy clean.
  • golangci-lint run: 0 issues. Coverage: auth 83.3%, logging 93.3%.
  • prek run --all-files: all hooks green on both repos.
  • Infrastructure Expert review: no Critical/High findings; branch-protection contexts preserved, coverage gate verified sound (no first-PR hard-fail, correctly non-gating post-merge).

Tracked low-priority follow-up (Ambix 019ecabc): move logging.MockLogger to a logging/logtest sub-package — deferred as a breaking change for the ~13 services that import logging.NewMockLogger.

🤖 Generated with Claude Code

Bring the `auth` and `logging` libs up to the `otelsetup`/`authz_client` scaffolding standard. ## Added - Lint/format/tooling: `.editorconfig`, `.golangci.yml`, `.pre-commit-config.yaml` (`-local` import grouping, gofumpt, golangci-lint-full, gitleaks, commitlint), `.testcoverage.yml`. - Release automation: `.version`, `CHANGELOG.md`, `cliff.toml`, and `release.yaml` (shared `unboundsoftware/shared-workflows` Release workflow — auto-tags from conventional commits). - `renovate.json`, `CLAUDE.md`. - `pre-commit.yaml` workflow. ## CI Replaced the minimal test-only `ci.yaml` with a **functional cache-based coverage-regression gate** mirroring the services: the PR `test` job restores the `main` coverage baseline from the Actions cache and fails on a drop; a non-gating post-merge `coverage-baseline` job records it (ADR-0010 carve-out). Job names `test`/`vulnerabilities` preserved to keep matching the branch-protection contexts (`<repo> / test*`, `<repo> / vulnerabilities*`). ## Validation - `gofumpt -l`, `go vet`, `go test -race`, `go mod tidy` clean. - `golangci-lint run`: 0 issues. Coverage: auth 83.3%, logging 93.3%. - `prek run --all-files`: all hooks green on both repos. - Infrastructure Expert review: no Critical/High findings; branch-protection contexts preserved, coverage gate verified sound (no first-PR hard-fail, correctly non-gating post-merge). Tracked low-priority follow-up (Ambix 019ecabc): move `logging.MockLogger` to a `logging/logtest` sub-package — deferred as a breaking change for the ~13 services that import `logging.NewMockLogger`. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
argoyle added 1 commit 2026-06-15 17:47:58 +00:00
chore(ci): add shared-lib scaffolding and functional coverage gate
logging / coverage-baseline (pull_request) Has been skipped
logging / vulnerabilities (pull_request) Successful in 1m47s
logging / test (pull_request) Successful in 2m48s
pre-commit / pre-commit (pull_request) Successful in 5m2s
49eedd3782
Bring the auth and logging libs up to the otelsetup/authz_client standard:
golangci-lint + .editorconfig + .testcoverage.yml + cliff.toml + renovate.json
+ CHANGELOG + CLAUDE.md + pre-commit and Release workflows. Replace the
minimal test-only CI with a cache-based coverage-regression gate (PR test job
restores main's baseline from the Actions cache; a non-gating post-merge
coverage-baseline job records it) mirroring the services (ADR-0010 carve-out).
Job names test/vulnerabilities preserved to match branch-protection contexts.
argoyle scheduled this pull request to auto merge when all checks succeed 2026-06-15 17:48:10 +00:00

Coverage Report

Total coverage: 93%

## Coverage Report Total coverage: **93%**
argoyle merged commit e067a72887 into main 2026-06-15 17:53:45 +00:00
argoyle deleted branch chore/harden-lib-scaffolding 2026-06-15 17:53:46 +00:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: shiny/logging#3