ci: vendor lakebase in PR template artifact only#335
Merged
MarioCadenas merged 3 commits intomainfrom Apr 30, 2026
Merged
Conversation
PR template installs pulled @databricks/lakebase from npm because dist-appkit replaces workspace:* with a semver for the packed appkit tarball. Add APPKIT_VENDOR_LAKEBASE=1 path in dist-appkit that embeds the lakebase .tgz from packages/lakebase/tmp and uses a file: dependency; release and pack:sdk leave the variable unset so behavior stays semver-only. Introduce pnpm pack:pr-template (lakebase tarball, then vendored appkit pack) and use it from the pr-template-artifact job instead of pack:sdk.
npm pack on packages/appkit/tmp honors parent .gitignore; tmp/ is ignored so root-level databricks-lakebase-*.tgz was dropped from the tarball. Install then failed to resolve file:./… next to package.json. Stage the lakebase .tgz under dist/vendor/ (already included via files dist/) and point the file: dependency there.
npm pack on packages/appkit/tmp still drops vendored .tgz under dist/ because the staging tree lives under a gitignored tmp path. Revert APPKIT_VENDOR_LAKEBASE / pack:pr-template. prepare-template-artifact copies packages/lakebase/tmp/*.tgz into the staging dir when present and sets overrides so npm install resolves @databricks/lakebase from the template root. Release template jobs without a local lakebase pack keep registry resolution.
pkosiec
approved these changes
Apr 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The PR template artifact job installs
@databricks/lakebasefrom npm becausedist-appkitreplacesworkspace:*with a semver inside the packed appkit tarball. This change keeps release /pack:sdkbehavior unchanged and only vendors lakebase for the PR template flow.Changes
tools/dist-appkit.ts: WhenAPPKIT_VENDOR_LAKEBASE=1, copy the lakebase.tgzfrompackages/lakebase/tmpinto appkittmp/, depend onfile:./…, and add the filename tofilessonpm packincludes it. Otherwise (default), keep the existing semver dependency for releases.package.json: Addpack:pr-template— same aspack:sdkprelude, then lakebase tarball, thenAPPKIT_VENDOR_LAKEBASE=1for appkit tarball only, then appkit-ui tarball..github/workflows/ci.yml:pr-template-artifactusespnpm pack:pr-templateinstead ofpnpm pack:sdk.tools/prepare-template-artifact.ts: Documentpack:pr-templatevspack:sdk.Release impact
None:
prepare-release,pack:sdk, and any dist/pack without the env var still emit semver@databricks/lakebaseas before.