feat(docker/ci): migrate Docker and CI from npm to bun

Docker changes:
- Use oven/bun:1-debian as base image instead of node:20-trixie-slim
- Replace npm ci with bun install --frozen-lockfile
- Replace npm run commands with bun run
- Mount bun.lock instead of package-lock.json
- Update cache paths for Bun's cache directory
- Rename NPM_RUN_PRUNE env var to BUN_RUN_PRUNE

CI workflow changes:
- Update bashlib.sh npm-install function to use bun
- Update superset-frontend.yml to use bun run commands
- Update release.yml to use setup-bun action and changesets
- Update superset-e2e.yml to use setup-bun action
- Update superset-playwright.yml to use setup-bun action
- Update superset-translations.yml to use setup-bun action

Note: superset-embedded-sdk and superset-websocket remain on npm
as they are separate packages with their own lockfiles.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Evan Rusackas
2026-02-10 11:46:21 -08:00
parent a44372d994
commit aa94a8eebd
11 changed files with 92 additions and 1915 deletions

View File

@@ -107,12 +107,12 @@ jobs:
uses: ./.github/actions/cached-dependencies
with:
run: testdata
- name: Setup Node.js
- name: Setup Bun
if: steps.check.outputs.python || steps.check.outputs.frontend
uses: actions/setup-node@v6
uses: oven-sh/setup-bun@v2
with:
node-version-file: './superset-frontend/.nvmrc'
- name: Install npm dependencies
bun-version: latest
- name: Install dependencies
if: steps.check.outputs.python || steps.check.outputs.frontend
uses: ./.github/actions/cached-dependencies
with:
@@ -224,12 +224,12 @@ jobs:
uses: ./.github/actions/cached-dependencies
with:
run: playwright_testdata
- name: Setup Node.js
- name: Setup Bun
if: steps.check.outputs.python || steps.check.outputs.frontend
uses: actions/setup-node@v6
uses: oven-sh/setup-bun@v2
with:
node-version-file: './superset-frontend/.nvmrc'
- name: Install npm dependencies
bun-version: latest
- name: Install dependencies
if: steps.check.outputs.python || steps.check.outputs.frontend
uses: ./.github/actions/cached-dependencies
with: