Skip to content

Add frontend build step to UI release process#1612

Open
skrawcz wants to merge 1 commit into
mainfrom
stefan/fix-ui-frontend-build
Open

Add frontend build step to UI release process#1612
skrawcz wants to merge 1 commit into
mainfrom
stefan/fix-ui-frontend-build

Conversation

@skrawcz
Copy link
Copy Markdown
Contributor

@skrawcz skrawcz commented May 28, 2026

Problem

The UI wheel uploaded to SVN was missing compiled frontend assets (hamilton_ui/build/). This directory is gitignored and only exists locally after running npm run build. A fresh clone (which is how we build release artifacts) doesn't have it, so the wheel was built without the frontend — causing HTTP 500 when serving /.

Fix

  1. scripts/apache_release_helper.py: When building the ui package, automatically runs npm install + npm run build in ui/frontend/ and copies the output to hamilton_ui/build/ before flit build.

  2. scripts/verify-sub-packages.md: Documents the manual frontend build steps for reviewers building from source.

  3. scripts/verify-sub-packages/verify_ui.sh: Clarifies that the 'build from source' step builds the backend only; functional tests use the pre-compiled wheel from SVN which includes the frontend.

Impact

This requires re-cutting the UI RC (RC1) after merging. The other 3 sub-packages (SDK, LSP, Contrib) are unaffected.

The UI wheel must include compiled frontend assets (hamilton_ui/build/).
This directory is gitignored and only exists after npm run build.

- apache_release_helper.py: automatically runs npm install + npm run build
  and copies output to hamilton_ui/build/ before flit build for the UI package
- verify-sub-packages.md: documents manual frontend build steps
- verify_ui.sh: notes that source tarball build is backend-only;
  functional tests use the pre-compiled wheel from SVN
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