Commit Graph

603 Commits

Author SHA1 Message Date
Evan Rusackas
7bdc6e0bed ci(frontend): publish nightly bundle-analyzer report; add Storybook/analyzer badges
Two related visibility gaps, fixed together since both ride on the same
nightly build:

1. superset-storybook.netlify.app has been live and populated with real,
   current component stories the whole time (Netlify's own git integration
   auto-builds and deploys it, no CI workflow involved) -- but there was no
   link to it anywhere in the repo. Added a README badge.

2. BUNDLE_ANALYZER=true npm run build has always produced a browsable
   treemap of what's actually in the bundle, but only ever locally, on
   request. Now rides along in the same nightly build that already refreshes
   the bundle-size baseline (BUNDLE_ANALYZER and BUNDLE_SIZE_STATS are
   independent env-gated additions to webpack.config.js, so one production
   build produces both), publishing the treemap (report.html) to Netlify --
   the same host already trusted for Storybook and docs previews, reusing
   the existing NETLIFY_AUTH_TOKEN secret. Deliberately does not publish the
   sibling statistics.html sunburst chart: webpack.config.js documents it as
   routinely exceeding 100MB for this app (it's .gitignore'd for exactly
   that reason), too large for a static site page.

The Netlify publish step is gated on NETLIFY_BUNDLE_ANALYZER_SITE_ID and
no-ops until that secret exists -- safe to merge now. Turning it on just
needs a new (free) Netlify site named superset-bundle-analyzer and its
site ID added as that secret; nothing else in the workflow depends on it.
The README badge points at that same URL in anticipation.
2026-07-28 10:10:16 -07:00
Evan Rusackas
f7e29c15d5 ci(frontend): refresh the bundle-size baseline nightly, not on every push
Persisting a new baseline on every push to master (which happens many
times a day) burns a full production build each time for no benefit a
once-a-day refresh doesn't already cover -- a day-old baseline is fine for
catching relative regressions on PRs. Moves baseline persistence to a new
frontend-bundle-size-nightly.yml (schedule + workflow_dispatch), and
restricts superset-frontend.yml's bundle-size job to pull_request only:
compare-and-alert against the last nightly baseline, never persist.

Also caches webpack's persistent filesystem build cache
(superset-frontend/.temp_cache) across CI runs via actions/cache, keyed on
the same files webpack's own `buildDependencies` invalidates on. Without
this, every PR run would pay the full cold-build cost (several minutes)
instead of the ~20s warm-build cost the cache is supposed to buy --
GH-hosted runners are fresh VMs with nothing carried over between jobs, so
the cache has to be restored explicitly or it does nothing.
2026-07-28 09:38:31 -07:00
Evan Rusackas
987c5ada54 ci(frontend): track bundle size over time with benchmark-action
Superset's frontend bundle size is a recurring complaint, but until now
there's been no ongoing visibility into it -- only periodic manual cleanup
efforts. This adds a `bundle-size` job to superset-frontend.yml that builds
the real production bundle (npm run build), reduces its per-entrypoint
sizes to a few headline numbers, and tracks them over time via
benchmark-action/github-action-benchmark, posting a PR comment when a
change regresses past 110% of the last recorded baseline.

Reuses the already-built CI Docker image (same image sharded-jest-tests /
lint-frontend / etc. already download), so the only new cost is the
production webpack build itself -- and that's cheap after the first run:
webpack's persistent filesystem cache (already configured in
webpack.config.js) makes warm rebuilds ~20s locally vs several minutes
cold, confirmed by hand against this repo's real build.

webpack.config.js gains a BUNDLE_SIZE_STATS env-gated stats override
(mirrors the existing BUNDLE_ANALYZER pattern). The default `stats:
'minimal'` omits per-asset sizes entirely; `--stats=normal` includes them
but also serializes the full ~15k-module dependency graph, producing a
560+MB stats.json for this app -- large enough to exceed Node's max
string length on a plain fs.readFileSync. The env-gated override requests
just `{ assets: true, entrypoints: true }`, verified end-to-end against a
minimal synthetic webpack project (same webpack/webpack-cli versions) and
against real stats pulled from this repo's actual production build.

History storage deliberately avoids the gh-pages branch (benchmark-action's
usual default) since that branch is the live Helm chart index published by
superset-helm-release.yml, not free real estate. Instead uses
external-data-json-path with actions/cache: restored on every run (PR or
push) so PRs get a same-baseline comparison and regression comment, but
only saved back to the cache on push to master, so an unmerged PR's numbers
never become the shared baseline. No gh-pages branch is touched in any
code path, and no PAT/GitHub App is needed -- comment-on-alert only needs
the default per-job GITHUB_TOKEN.
2026-07-28 00:05:49 -07:00
dependabot[bot]
748e1e80f0 chore(deps): bump actions/setup-python from 6.3.0 to 7.0.0 (#42452)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-27 12:45:26 -07:00
Đỗ Trọng Hải
03c97764d1 chore(ci): remove nyc usage for merging coverage results as Codecov natively supports the action (#42431)
Signed-off-by: hainenber <dotronghai96@gmail.com>
2026-07-27 10:28:26 -07:00
dependabot[bot]
5b5e5cf82d chore(deps): bump actions/checkout from 7.0.0 to 7.0.1 (#42376)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-24 21:23:00 +07:00
dependabot[bot]
873da606dd chore(deps): bump github/codeql-action/init from 4.37.0 to 4.37.1 (#42334)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-23 21:36:39 +07:00
dependabot[bot]
1dd3103c24 chore(deps): bump github/codeql-action/analyze from 4.37.0 to 4.37.1 (#42331)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-23 21:36:16 +07:00
dependabot[bot]
2926d6f6a9 chore(deps): bump actions/labeler from 6.2.0 to 7.0.0 (#42332)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-23 21:34:54 +07:00
dependabot[bot]
f50b7b7154 chore(deps): bump actions/setup-go from 6.5.0 to 7.0.0 (#42303)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-22 10:28:11 -07:00
dependabot[bot]
248f6e1064 chore(deps): bump zizmorcore/zizmor-action from 0.5.7 to 0.6.0 (#42302)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-22 02:21:21 -07:00
Evan Rusackas
f2967264d2 fix(ci): diff pre-commit changed files against the live base branch tip (#42152)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 10:20:57 -07:00
dependabot[bot]
bafe5ad9ba chore(deps): bump actions/setup-java from 5.5.0 to 5.6.0 (#42260)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-21 01:15:32 -07:00
Evan Rusackas
590357731b feat(ci): cancel CI runs when hold label applied, re-run on removal (#40387)
Co-authored-by: Claude <claude@anthropic.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Đỗ Trọng Hải <41283691+hainenber@users.noreply.github.com>
2026-07-20 10:35:26 -07:00
Đỗ Trọng Hải
1f81b700c1 chore(ci): upgrade GHA runner image to Ubuntu 26.04 (#42191)
Signed-off-by: hainenber <dotronghai96@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: David <39565245+dmunozv04@users.noreply.github.com>
Co-authored-by: Hans Yu <hans.yu@outlook.de>
Co-authored-by: Shaitan <105581038+sha174n@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Rehan Islam <2025eb01502@online.bits-pilani.ac.in>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: J0s3-H3nr1qu3 <hareboom@gmail.com>
Co-authored-by: José Teixeira <jose.teixeira@douroeci.com>
2026-07-20 09:43:19 -07:00
Evan Rusackas
5a17ae1224 chore: drop Python 3.10 support, require Python 3.11+ (#42045)
Signed-off-by: hainenber <dotronghai96@gmail.com>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: hainenber <dotronghai96@gmail.com>
2026-07-20 08:16:22 -07:00
dependabot[bot]
eed41b6435 chore(deps): bump actions/setup-node from 6.4.0 to 7.0.0 (#42229)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-20 21:33:36 +07:00
David
9e9b7c4bbd feat(ci): run helm-unittest on pull requests (#42206) 2026-07-20 07:36:19 +07:00
Evan Rusackas
68297886d4 fix(ci): stop concurrency cancellation from bricking required checks on approval-gated PRs (#42148)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 16:38:27 -07:00
Evan Rusackas
c540f782a3 fix(ci): remove Python 3.10 from the test matrix to unblock CI (#42058)
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-15 15:48:47 -07:00
dependabot[bot]
d80267d00b chore(deps): bump github/codeql-action/init from 4.36.3 to 4.37.0 (#42068)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-14 21:21:25 -07:00
dependabot[bot]
ad8f2cf268 chore(deps): bump github/codeql-action/analyze from 4.36.3 to 4.37.0 (#42069)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-14 20:38:21 -07:00
Evan Rusackas
be768efc0f fix(ci): make pre-commit fail closed instead of silently passing on an empty file list (#42044)
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-14 16:20:56 -07:00
Evan Rusackas
4e10a96253 chore(ci): correct actions/setup-node version comment to v6.4.0 (#42038)
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 21:31:08 +07:00
Evan Rusackas
24959d1656 fix(ci): correct setup-node version comment in tech-debt.yml (#42037) 2026-07-14 21:30:47 +07:00
Evan Rusackas
d5e75c4813 fix(ci): correct setup-node version comment in tag-release.yml (#42039) 2026-07-14 19:43:13 +07:00
dependabot[bot]
e86dcf7b82 chore(deps): bump actions/setup-java from 5.4.0 to 5.5.0 (#42028)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-14 05:14:08 -07:00
dependabot[bot]
9180ace1dd chore(deps): bump actions/labeler from 6.1.0 to 6.2.0 (#41988)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-13 03:26:15 -07:00
Evan Rusackas
a1d1d69f5e ci: enforce SQLAlchemy 2.0 deprecation warnings in unit-test CI (#41915)
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-12 08:43:09 -07:00
dependabot[bot]
2a3d65f61a chore(deps): bump docker/login-action from 4.3.0 to 4.4.0 (#41927)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-10 02:16:35 -07:00
dependabot[bot]
c1d4401d29 chore(deps): bump github/codeql-action/init from 4.36.2 to 4.36.3 (#41899)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-09 10:17:45 -07:00
dependabot[bot]
a4418a27c5 chore(deps): bump github/codeql-action/analyze from 4.36.2 to 4.36.3 (#41900)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-09 09:34:41 -07:00
dependabot[bot]
30e1ab3203 chore(deps): bump docker/login-action from 4.2.0 to 4.3.0 (#41901)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-09 09:34:37 -07:00
Evan Rusackas
f9bcf189c9 chore(ci): suppress zizmor adhoc-packages on GHA validator install (#41694)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 14:55:49 -07:00
Evan Rusackas
1c74185a71 chore(ci): correct codeql-action version comment to match pinned SHA (#41695)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 14:55:40 -07:00
Joe Li
c1bd45f561 fix(ci): allow showtime to check out fork PR code under checkout v7 (#41643) 2026-07-03 00:31:43 +07:00
Đỗ Trọng Hải
7d7c3ce723 feat(ci): install helm-docs directly instead of using whole brew setup (#41629) 2026-07-02 00:35:43 +07:00
Evan Rusackas
7de77a35bc chore(ci): pin @action-validator versions in GHA validator workflow (#41545)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 10:31:36 -07:00
dependabot[bot]
92f48b0725 chore(deps): bump actions/setup-python from 6.2.0 to 6.3.0 (#41573)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-30 22:44:30 +07:00
dependabot[bot]
e0e1831d50 chore(deps): bump actions/setup-java from 5.3.0 to 5.4.0 (#41576)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-30 22:41:21 +07:00
dependabot[bot]
c4c531a855 chore(deps): bump actions/cache from 5.0.5 to 6.1.0 (#41572)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-30 22:40:51 +07:00
dependabot[bot]
56bd8ed0be chore(deps): bump azure/setup-helm from 5.0.0 to 5.0.1 (#41570)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-30 22:39:57 +07:00
Evan Rusackas
07abda50c5 chore(ci): prune orphaned showtime labels in daily cleanup (#41464)
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 10:10:42 -07:00
dependabot[bot]
7edae0817c chore(deps): bump zizmorcore/zizmor-action from 0.5.6 to 0.5.7 (#41519) 2026-06-29 23:54:21 +07:00
dependabot[bot]
ccbd284245 chore(deps): bump actions/checkout from 6.0.3 to 7.0.0 (#41447)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-28 12:21:53 +07:00
Đỗ Trọng Hải
b8fd2e9725 feat(websocket,embedded-sdk): replace Jest with modern Vitest (#38308)
Signed-off-by: hainenber <dotronghai96@gmail.com>
Co-authored-by: codeant-ai-for-open-source[bot] <244253245+codeant-ai-for-open-source[bot]@users.noreply.github.com>
2026-06-28 11:12:37 +07:00
Evan Rusackas
7587d0778a chore(ci): correct actions/cache version comment to v5.0.5 (#41484)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 10:56:08 +07:00
Evan Rusackas
eaaab61493 chore(ci): correct setup-python pin version comment to v6.2.0 (#41383)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 12:08:46 -07:00
Evan Rusackas
7410ff73c0 ci: schedule a weekly Docker image rebuild against the latest release (#40426)
Co-authored-by: Claude Code <noreply@anthropic.com>
2026-06-25 17:15:31 -07:00
dependabot[bot]
420a74b01e chore(deps): bump actions/checkout from 6.0.3 to 7.0.0 (#41358)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-24 00:52:16 -07:00