Don't build Djblets static media when building packages.
Review Request #12961 — Created April 17, 2023 and submitted — Latest diff uploaded
Review Board includes the Djblets Pipeline bundle definitions as part of
its own definitions. This allows us to easily iterate on and build all
the Djblets static media files without making the process a completely
separate step during development. It also allows us to map bundle names
to built files, which is important in production.Historically, the Review Board packages have contained the Djblets
static media, due to the inclusion of these bundles. This adds to the
size of the builds and the build times themselves, but goes unused in
production. When creating/updating a site, thestatic/djblets/
directory actually comes from the Djblets package and not Review
Board's.So there's no reason to include them in the packages. But worse, with
the modern Babel/Rollup/TypeScript support, building Review Board
packages now fails when building against a Djblets package (such as in
CI). This is because the config files andnode_modules
needed by
Djblets aren't available without a Djblets source tree.We now leave out the Djblets bundles when we're forcing static media to
build for packages (via./setup.py bdist_wheel
or
./contrib/internal/build-media.py
). It's still included in all other
cases, ensuring nothing breaks when running Review Board.
Tested building packages and checking which bundles were built and
included.Tested a site against packaged versions of Review Board and Djblets
and verified it ran.Deployed a package built with this change to reviews.reviewboard.org
and verified nothing broke.