summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSylvain Henry <sylvain@haskus.fr>2021-02-18 18:40:15 +0100
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-02-27 08:02:03 -0500
commit31ee48dc64066d9f6fb66ac987ccc4ac290cb8b7 (patch)
tree433e939ac42502adc087c8539a8c19be25393fd8
parentbcaa36c4277dc577863132da2f95645715e2a15e (diff)
downloadhaskell-31ee48dc64066d9f6fb66ac987ccc4ac290cb8b7.tar.gz
CI: reduce xz compression for non release/nightly jobs
Reduce XZ compression level for regular jobs (it is bumped to 9 for releases and nightly jobs). In my experiments I've got the following bindist size in the given time for each compression level (with the quick flavour): XZ_OPT Time Size -9 4m06s 112 MB -8 4m00s 114 MB -7 3m50s 116 MB -6 (default) 3m40s 118 MB -5 2m47s 123 MB -4 1m57s 134 MB -3 1m03s 129 MB -2 49.73s 136 MB -1 37.72s 142 MB -0 34.40s 156 MB
-rw-r--r--.gitlab-ci.yml21
1 files changed, 21 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 86c140ab76..0a7bfb7447 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -16,6 +16,24 @@ variables:
GIT_SUBMODULE_STRATEGY: "recursive"
+ # Reduce XZ compression level for regular jobs (it is bumped to 9 for releases
+ # and nightly jobs). In my experiments I've got the following bindist size in
+ # the given time for each compression level (with the quick flavour):
+ #
+ # XZ_OPT Time Size
+ # -9 4m06s 112 MB
+ # -8 4m00s 114 MB
+ # -7 3m50s 116 MB
+ # -6 (default) 3m40s 118 MB
+ # -5 2m47s 123 MB
+ # -4 1m57s 134 MB
+ # -3 1m03s 129 MB
+ # -2 49.73s 136 MB
+ # -1 37.72s 142 MB
+ # -0 34.40s 156 MB
+ #
+ XZ_OPT: "-1"
+
stages:
- tool-lint # Source linting of the tools
- quick-build # A very quick smoke-test to weed out broken commits
@@ -53,6 +71,8 @@ workflow:
- if: '$CI_PIPELINE_SOURCE == "web"'
.nightly: &nightly
+ variables:
+ XZ_OPT: "-9"
rules:
- if: $NIGHTLY
artifacts:
@@ -62,6 +82,7 @@ workflow:
.release: &release
variables:
BUILD_FLAVOUR: "perf"
+ XZ_OPT: "-9"
artifacts:
when: always
expire_in: 1 year