Platform - Demo

Improve build time of agent-interface with warm cache when developing by 55% (from 70s to 30s or less)

1.

2.

Reduce failure rate (flunkiness) of unit/E2E-tests by 100%

3.

Reduce tests where time/assertion is >2.5s by 100% from 8 to 0

# DEMO
# KR 1

Demo

Improve build time of agent-interface with warm cache when developing by 55% (from 70s to 30s or less)

# KR 1

What did we do?

  • Enabled Filesystem cache
  • Enabled Lazy-compilation
  • Added ESLint to lessen our dependency on LESS over time.

Before

Entrypoint main 121 MiB (10.5 MiB) = runtime-19f49095ae66f0a7309a.js 15.6 KiB vendor-4cf5b4780ca24bb4c636.js 67 MiB main-4f35e00869a5440bfdfb.js 54 MiB 83 auxiliary assets
orphan modules 1.41 MiB [orphan] 1068 modules
runtime modules 9.4 KiB 16 modules
javascript modules 38.3 MiB
  modules by path ./node_modules/ 23.4 MiB 3535 modules
  modules by path ./src/ 14.9 MiB 3081 modules
  modules by path ./libs/decls/*.ts 3.43 KiB 7 modules
asset modules 62.3 KiB (javascript) 8.34 MiB (asset)
  modules by path ./src/ 28.8 KiB (javascript) 7.48 MiB (asset) 83 modules
  modules by path data:image/ 33.4 KiB 3 modules
  modules by path ./node_modules/ 168 bytes (javascript) 888 KiB (asset) 4 modules
json modules 441 KiB
  modules by path ./node_modules/ 399 KiB 22 modules
  modules by path ./src/ 42.7 KiB
    modules by path ./src/assets/components/onboarding/ 14.8 KiB 2 modules
    2 modules

webpack 5.64.4 compiled successfully in 61525 ms
# KR 1

After

modules by layer 967 KiB
  code generated modules 23.2 KiB [code generated]
    lazy-compilation-proxy modules 1.37 KiB
      modules by path lazy-compilation-proxy ./src/assets/ 800 bytes 4 modules
      modules by path lazy-compilation-proxy ./src/middleware/electron/utils/*.ts 400 bytes 2 modules
      lazy-compilation-proxy ./src/store.ts 200 bytes [built] [code generated]
    javascript modules 21.8 KiB
      modules by path ./src/assets/ 13.1 KiB 3 modules
      ./node_modules/webpack/hot/lazy-compilation-web.js?http%3A%2F%2Flocalhost%3A49969%2Flazy-compilation-using- 1.64 KiB [built] [code generated]
      ./src/utils/featureFlagging/featureFlags/featureFlags.ts 7.07 KiB [built] [code generated]
  ./src/assets/app/utils/segment/generated/index.ts 943 KiB [built]
  ./node_modules/worker-plugin/loader.js!./src/assets/app/middleware/websocket/worker/shared.worker.ts 1.14 KiB [not cacheable] [built]

webpack 5.64.4 compiled successfully in 14825 ms
# KR 1
# KR 1

Summary

~75% reduction in start-up time on warm cache

# KR 2

Demo

Reduce failure rate (flunkiness) of unit/E2E-tests by 100%

# KR 2

Summary

Nightwatch tests migrated to Cypress

Running on our own infrastructure

# KR 3

Demo

Reduce tests where time/assertion is >2.5s by 100% from 8 to 0

# KR 3

Demo

Reduce the time it takes to run unit tests...

# KR 3

Before

# KR 3

After

# KR 3

Summary

~40% reduction in perceived time when running unit tests

On average CI should takes 1-2 minutes less to complete.

 

Code

By Jakob Hyldtoft

Code

  • 144