Skip to content

ci: Add typecheck and build workflow for consumer UI - #5

Merged
ecv merged 1 commit into
mainfrom
add-consumer-ui-ci
Sep 11, 2026
Merged

ci: Add typecheck and build workflow for consumer UI#5
ecv merged 1 commit into
mainfrom
add-consumer-ui-ci

Conversation

@ecv

@ecv ecv commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Summary

A dependency upgrade to the consumer UI plugin lands today with no signal on whether it broke the app, since nothing runs on push or on a pull request.

That already blocks a pending router security fix, because only a build reveals whether the new version breaks routing.

This adds a workflow that installs the app's dependencies, type-checks it, and builds it on every push and pull request, so an upgrade proves itself before merge.

A frozen install needs a lockfile to freeze against, and the app never had one committed, so this change adds that too.

Details

  • Triggers on push and on pull request against main, using Bun since that is what the app's build and lockfile already commit to, with Node set from the version already pinned in the repo.
  • The pinned Node version is well above the highest requirement among the app's dependencies, so no version bump was needed.
  • The app's Docker build doesn't pin a Node version at all, since it builds and runs on Bun images directly, so there's no mismatch to reconcile there.
  • Verified locally that install, type check and build all pass against the newly committed lockfile. They also pass with the pending react-router security update applied, which confirms that upgrade is safe to merge.

Test plan

  • CI runs on this PR and passes for the current dependencies
  • The pending router security update also passes once rebased on this workflow

Related to #4

https://claude.ai/code/session_01T2Bmcs7qWPaw1R6HnmrmBq

The consumer Portal Plugin has no automated checks, so a dependency
upgrade lands with no signal on whether it broke the app. Add a
workflow that installs, type-checks and builds it on every push and
pull request against main, so a change like the pending react-router
security bump can prove itself before merge.

Key changes:
- Trigger on push and on pull_request targeting main
- Set up Node from ui/consumer/.nvmrc and Bun via oven-sh/setup-bun
- Install with bun install --frozen-lockfile, then run typecheck
  and build
- Commit ui/consumer/bun.lock, which the repo builds against
  (Dockerfile COPYs it) but never had checked in, so a frozen
  install had nothing to freeze against

Related to #4

Claude-Session: https://claude.ai/code/session_01T2Bmcs7qWPaw1R6HnmrmBq

@kevwilliams kevwilliams left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Adds a straightforward CI workflow (checkout, setup-node from .nvmrc, setup-bun, frozen-lockfile install, typecheck, build) scoped to ui/consumer, plus the missing bun.lock it depends on. Triggers and working directory are correct, scripts match package.json, no secrets or elevated permissions are involved, and there's no pull_request_target or injected untrusted input. Low risk, closes a real CI gap.

@ecv
ecv merged commit 373a123 into main Sep 11, 2026
3 checks passed
@ecv
ecv deleted the add-consumer-ui-ci branch September 11, 2026 15:28
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.

2 participants