metabase / metabase/metabase

Optimise CLJS build

Open
#37,579 5 comments 0 reactions 0 assignees View on GitHub
.Backend .Team/DevEx
Dominant language
Clojure
Stars
49.3k
Forks
6.8k
Avg merge
1d 13h
Merged PRs (30d)
653

Description

Before starting compilation, at the initialization stage, a shadow-cljs launch can take up to **20** seconds, plus we do this twice for the main build and static-viz. The same goes for the compilation itself, which we also do twice, taking **40-50** seconds on CI. If we learn to reuse the previous build, or do it in parallel, we could save about a **minute** on CLJS builds.

```[tasklist]
### Tasks
- [ ] https://github.com/metabase/metabase/issues/37580
- [ ] https://github.com/metabase/metabase/issues/43459
- [ ] https://github.com/metabase/metabase/issues/46706
- [ ] Research a way to reuse the previous build or run `build-frontend` in parallel
```

Contributor guide

Open the contributing guide

Research direction

Start by reviewing issues 37580, 43459, and 46706, then investigate the `build-frontend` work mentioned in the task list. Compare reusing the previous build with running the main build and static-viz compilation in parallel, and measure CI time to confirm that the completed approach saves about a minute.

Written by the indexing model from the issue text.

Assessment

Tech stack
clojure
Domain
build-system, performance
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.