Skip to content

ci(nr): emit CI/e2e/smoke results to New Relic (Wave 5)#193

Merged
mastermanas805 merged 3 commits into
mainfrom
ci/wave5-nr-ci-event
Jun 6, 2026
Merged

ci(nr): emit CI/e2e/smoke results to New Relic (Wave 5)#193
mastermanas805 merged 3 commits into
mainfrom
ci/wave5-nr-ci-event

Conversation

@mastermanas805

Copy link
Copy Markdown
Member

Wave 5 of the CI integration plan (docs/ci/01-CI-INTEGRATION-DESIGN.md §NR observability): push the web CI / Playwright / pr-smoke / e2e-prod results to New Relic so a red run — especially a user-facing-journey failure in prod — is studyable from an NR dashboard, not just the GitHub Actions log.

What

Adds the reusable .github/actions/nr-ci-event composite action (mirrors api + worker) that POSTs InstantCITestRun (always) + InstantCITestFailure (on fail) to the NR Event API. Wired as if:always() steps into:

  • ci.ymlsuite=build-and-test (tsc+vite+prerender+vitest), suite=playwright
  • e2e-pr-smoke.ymlsuite=pr-smoke (real-backend UI smoke; the ci-pr-smoke-failing-main P1 alert reads this)
  • e2e-prod.ymlsuite=e2e-prod (live-prod journeys; the ci-e2e-prod-failing P1 alert reads this)

The two live suites gate the emit on RUN=='1' so a fork/secret-less no-op run does NOT report a misleading pass. No-ops cleanly without the NR secret.

Verify

  • npm run gate GREEN (81 test files, 1129 passed | 3 skipped). Additive only — no source change, just workflow YAML.

Operator action

Provision NEW_RELIC_LICENSE_KEY + NEW_RELIC_ACCOUNT_ID as GitHub Actions secrets on the instanode-web repo. NR dashboard + alerts land in infra #57.

Companion PRs (Wave 5)

🤖 Generated with Claude Code

Wave 5 of the CI integration plan (docs/ci/01-CI-INTEGRATION-DESIGN.md
§NR observability): push the web CI / Playwright / pr-smoke / e2e-prod results
to New Relic so a red run — especially a user-facing-journey failure in prod —
is studyable from an NR dashboard, not just the GitHub Actions log.

Adds the reusable .github/actions/nr-ci-event composite action (mirrors api +
worker) that POSTs an InstantCITestRun event (always) + InstantCITestFailure
(on fail) to the NR Event API. Wired as if:always() steps into:
  - ci.yml          → suite=build-and-test (tsc+vite+prerender+vitest), playwright
  - e2e-pr-smoke.yml → suite=pr-smoke   (real-backend UI smoke; the
                       ci-pr-smoke-failing-main P1 alert reads this)
  - e2e-prod.yml     → suite=e2e-prod   (live-prod journeys; the
                       ci-e2e-prod-failing P1 alert reads this)
The two live suites gate the emit on RUN=='1' so a fork/secret-less no-op run
does NOT report a misleading pass. No-ops cleanly without the NR secret.
Additive only — no gate change; npm run gate green (81 files, 1129 tests).

Operator action: provision NEW_RELIC_LICENSE_KEY + NEW_RELIC_ACCOUNT_ID as
GitHub Actions secrets on the instanode-web repo. NR dashboard + alerts land in
the infra repo (instanode-ci-health).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mastermanas805
mastermanas805 enabled auto-merge (squash) June 5, 2026 23:50
@github-actions

github-actions Bot commented Jun 5, 2026

Copy link
Copy Markdown

size-limit report 📦

Path Size
dist/assets/index-XisJSLgD.js 162.07 KB (0%)
dist/assets/index-BsJUZYRr.css 6.13 KB (0%)

mastermanas805 and others added 2 commits June 6, 2026 05:25
…ses them as inputs

The nr-ci-event composite action referenced github.*/secrets.*/job.status in its
own env: block; GitHub rejects those inside a composite action. Move resolution
to the caller's with: block; action reads only inputs.*. Adds event-name + actor
inputs; callers pass repo/workflow/branch/commit-sha/log-url/event-name/actor.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
GitHub evaluates ${{ }} even inside input description: strings; the example
'${{ secrets... }}' text triggered Unrecognized-named-value. Plain text now;
only runs: keeps inputs.* expressions.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mastermanas805
mastermanas805 merged commit fec01d6 into main Jun 6, 2026
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant