Skip to content

Add environment badge build details - #15

Merged
austin-smith merged 6 commits into
mainfrom
environment-badge-build-details
Aug 3, 2026
Merged

austin-smith merged 6 commits into
mainfrom
environment-badge-build-details

Conversation

@austin-smith

@austin-smith austin-smith commented Aug 2, 2026

Copy link
Copy Markdown
Owner

What Changed

  • Add a provider-independent APP_ENV contract and show a restrained environment badge outside production.
  • Add an accessible hover/click popover with branch, commit, dirty state, commit subject, and absolute and relative build times.
  • Require deterministic build provenance: Railway supplies its Git metadata, GitHub Actions supplies source-ref context while Git HEAD identifies the checked-out revision, and local builds require an attached Git branch.
  • Fail builds with missing or ambiguous provenance instead of degrading to a non-interactive badge; production startup consumes the already-embedded metadata without requiring Git.
  • Keep provider discovery in a dedicated build-only module so next.config.ts remains a thin wiring layer.
  • Gate the badge at the Server Component boundary so production does not serialize badge props or hydrate badge-only client dependencies.
  • Reuse the environment contract for outbound email sender labels and document local and Railway configuration.
  • Add focused environment, build-metadata, Next.js lifecycle, server/client-boundary, and badge tests, plus the T3 project icon configuration.

Why

Non-production deployments need an immediately visible identity, and developers need reliable build provenance without coupling the application environment model to Railway-specific variables.

Validation

  • pnpm web:verify — passed (409 tests across the web dependency graph, lint, type-check, and production build)
  • GitHub Actions-shaped pnpm web:verify — passed (408 tests, including provider-isolation coverage)
  • Focused environment-badge and Server Component boundary tests — passed
  • Structured autoreview — clean, no accepted/actionable findings
  • GitHub CI run 30773367517 — passed for commit 29410884
  • Railway deployment 1288fd2e — succeeded for commit 29410884
  • Browser verification on dev.webhooks.lol — passed for deployed hover/click behavior, build details, layout, and accessibility semantics
  • git diff --cached --check — passed before each commit
  • jq empty t3.json — passed

UI Changes

  • Adds a neutral outlined badge beside the webhooks.lol wordmark in non-production environments.
  • Hovering or activating the badge opens a compact, theme-consistent build-details popover.
  • Production omits the badge at the Server Component boundary.

@austin-smith
austin-smith marked this pull request as ready for review August 2, 2026 21:44
@railway-app
railway-app Bot temporarily deployed to webhooks.lol / develop August 2, 2026 21:44 Inactive
@railway-app
railway-app Bot temporarily deployed to webhooks.lol / develop August 2, 2026 22:32 Inactive
@austin-smith

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b8bd3b0afa

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/web/next.config.ts Outdated
@railway-app
railway-app Bot temporarily deployed to webhooks.lol / develop August 2, 2026 23:23 Inactive
@railway-app
railway-app Bot temporarily deployed to webhooks.lol / develop August 2, 2026 23:33 Inactive
@austin-smith

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 51809ac9a6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/web/components/app/app-header.tsx Outdated
@railway-app
railway-app Bot temporarily deployed to webhooks.lol / develop August 2, 2026 23:58 Inactive
@austin-smith

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. What shall we delve into next?

Reviewed commit: 2941088425

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@austin-smith
austin-smith merged commit b487ac7 into main Aug 3, 2026
2 checks passed
@austin-smith
austin-smith deleted the environment-badge-build-details branch August 3, 2026 00:04
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