mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-09-11 10:46:25 +03:00
Before these changes: **pro build:** 52min **oss build**: 62min After: **pro build:** 25min **oss build**: 23min This decreases overall CI wall-clock time from 1:50:00 to 1:15:00. Despite bumping the instance size for OSS builds this should (back-of-envelope) **_cut_ CI costs** for haskell build stuff by ~33% Future work will: - cache library dependency build products: saves further ~8 min (build and wallclock) - use the oss lib build products in pro as well: saves further ~5min server time (i.e. saves money for same build time) - maybe cache the rest of `dist-newstyle`: savings depend on the diff (at most 4.5 min; is this even worthwhile?) PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2937 GitOrigin-RevId: a1faceaf1adfc1701e634a887f2cdabacab5cddd
43 lines
1.3 KiB
Plaintext
43 lines
1.3 KiB
Plaintext
-- The project configuration used when building in CI.
|
|
|
|
reject-unconstrained-dependencies: all
|
|
|
|
package *
|
|
ghc-options:
|
|
-- We compile with package-level parallelism, so just use a small amount
|
|
-- of module-level parallelism for dependencies:
|
|
-- TODO: tune me
|
|
-j2
|
|
-- Limit heap size to 15G, to maintain some breathing room given
|
|
-- the 16G of available memory on the current "XXLarge" instance
|
|
+RTS -M15000m -RTS
|
|
-- For performance, with `-j`:
|
|
+RTS -A64m -n2m -RTS
|
|
|
|
-- Enable optimizations in all local (hasura) packages:
|
|
flags: +optimize-hasura
|
|
|
|
package graphql-engine
|
|
ghc-options:
|
|
-- At this point though we definitely want full module-level parallelism:
|
|
-j
|
|
-Werror
|
|
tests: true
|
|
benchmarks: true
|
|
|
|
-- %%%-BEGIN-PRO-ONLY-CONTENT-%%%
|
|
|
|
-- NOTE:
|
|
-- The label directly above this note marks the beginning of the pro-only
|
|
-- section of this file that should be removed by `Copybara` when migrating
|
|
-- this file to the public `graphql-engine` repository. We use a simple
|
|
-- regular expression to identify these segments (see the "transformations" in
|
|
-- `copy.bara.sky`), so please take care when manipulating this label!
|
|
|
|
package graphql-engine-pro
|
|
ghc-options:
|
|
-- At this point though we definitely want full module-level parallelism:
|
|
-j
|
|
-Werror
|
|
tests: true
|