discourse/lib/tasks
David Taylor 9db5eafb15
PERF: Improve production JS build in low-memory environments (#26849)
- Use 'cheap-source-map' webpack config on low-memory machines

  This results in worse quality sourcemaps in browser dev tools, but it significantly reduces memory use in our webpack build. In approximate local testing it drops from 1100mb to 590mb. This should make the rebuild process on low-memory machines much faster and less likely to trigger OOM errors.

  In development, and on higher-memory machines, the higher-quality 'source-map' option is maintained.

- Disable Webpack's built-in `minimize` feature. Embroider already applies Terser after the webpack build is complete. There is no need to double-minimize the output.

- Update ember-cli-progress-ci to print to stderr instead of stdout. For some reason, pups (used by discourse_docker) buffers the stdout of commands and only prints when they are finished. stderr does not have this same limitation, so switching will mean sysadmins can see the progress of the ember build in real-time.

Given the number of variables it's hard to promise exact numbers. But, in my tests on a DO droplet with 1GB RAM (+2GB swap), this reduced the `ember build` portion of a `./launcher rebuild app` from ~50 minutes to ~15 minutes.
2024-05-02 11:43:59 +01:00
..
add_topic_to_quotes.rake
admin.rake
annotate.rake DEV: Extensively use exception: true in system() (#25911) 2024-02-27 11:33:28 +01:00
api.rake
assets.rake PERF: Improve production JS build in low-memory environments (#26849) 2024-05-02 11:43:59 +01:00
auto_annotate_models.rake
autospec.rake
avatars.rake
backfill.thor
categories.rake
cdn.rake
compatibility.rake DEV: Introduce rake task to validate discourse-compatibility file (#26158) 2024-03-13 13:57:41 +00:00
db.rake DEV: Extensively use exception: true in system() (#25911) 2024-02-27 11:33:28 +01:00
destroy.rake
dev.rake
docker.rake DEV: Support customizing docker:test:setup with envs (#24508) 2023-11-22 15:12:02 +08:00
documentation.rake DEV: Remove unmaintained tidy-jsdoc dependency (#25110) 2024-01-03 10:30:54 +00:00
emails.rake FIX: in EmailSettingsValidator, unset smtp authentication when there's no user and password 2024-04-19 14:02:22 -04:00
emoji.rake DEV: Remove direct minitest dependency to appease ruby-lsp (#26056) 2024-03-06 15:41:14 +00:00
export.rake
groups.rake
hashtags.rake
i18n.rake
images.rake
import.rake DEV: Import script should insert more data into user_stats table (#26551) 2024-04-11 14:05:21 +02:00
incoming_emails.rake
integration.rake
javascript.rake FIX: Better tracking of topic visibility changes (#26709) 2024-04-29 10:34:46 +10:00
log.rake
maxminddb.rake FIX: maxmind:refresh does not respect refresh_maxmind_db_during_precompile_days (#26457) 2024-04-02 14:25:05 +08:00
plugin.rake DEV: Suppress verbose command failure output in plugin:turbo_spec (#25952) 2024-02-29 14:35:31 +10:00
populate.rake
populate.thor
posts.rake DEV: Allow rebakes to generate optimized images at the same time 2024-01-16 14:33:16 +01:00
profile.rake
qunit.rake DEV: Restore qunit 'tap' reporter, but collapse verbose output in CI (#26484) 2024-04-03 10:22:20 +01:00
redis.rake
release_note.rake
revisions.rake
rspec.rake
s3.rake
scheduler.rake FEATURE: call hub API to update Discourse discover enrollment. (#25634) 2024-02-23 11:42:28 +05:30
search.rake
site_settings.rake
site.rake
smoke_test.rake DEV: Extensively use exception: true in system() (#25911) 2024-02-27 11:33:28 +01:00
svg_icons.rake DEV: Extensively use exception: true in system() (#25911) 2024-02-27 11:33:28 +01:00
svg_sprites.rake
tags.rake
themes.rake FIX: themes:update rake task not rolling back transaction on error (#26750) 2024-04-25 15:19:23 +08:00
topics.rake
turbo.rake
typepad.thor
uploads.rake DEV: Rename with_secure_uploads? to should_secure_uploads? on Post (#26549) 2024-04-09 13:23:11 +10:00
users.rake
version_bump.rake DEV: Don't create backups during version bumps (#25484) 2024-01-30 11:41:15 -07:00