summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2017-07-07 13:51:05 (GMT)
committerSam Thursfield <sam.thursfield@codethink.co.uk>2017-07-07 13:51:05 (GMT)
commit387d00648ca64eaec5343cb748f0cbc163d8df12 (patch)
tree29b37f8fb7d0ac882dcf2f53910859a50da2549a
parent9b47b15048d52ab177b885276cc1d64b99a7e69f (diff)
downloaddefinitions-387d00648ca64eaec5343cb748f0cbc163d8df12.tar.gz
.gitlab-ci.yml: Split the pipeline into 2 stages
With an empty cache, every worker must spend 10 minutes pulling all of the sources that are required. There's no point having 5 workers pulling the same things in parallel, so the first stage now contains only 1 job.
-rw-r--r--.gitlab-ci.yml17
1 files changed, 11 insertions, 6 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 94a4e54..14ecee8 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -20,30 +20,35 @@ before_script:
- mkdir -p "$(pwd)/cache"
- export XDG_CACHE_HOME="$(pwd)/cache"
+# All of the builds use the same set of sources. The first stage should contain
+# only one job so that, in the case where the source cache is empty, we only
+# have a single job pulling all the sources rather than 5 pulling the same things
+# in parallel.
stages:
- - build
+ - simple
+ - cross
x86_64-native:
- stage: build
+ stage: simple
script:
- bst --colors build gnu-toolchain.bst
armv8b64-cross:
- stage: build
+ stage: cross
script:
- bst --colors build --target-arch=armv8l64 gnu-toolchain/stage2.bst
armv8l64-cross:
- stage: build
+ stage: cross
script:
- bst --colors build --target-arch=armv8l64 gnu-toolchain/stage2.bst
ppc64b-cross:
- stage: build
+ stage: cross
script:
- bst --colors build --target-arch=ppc64b gnu-toolchain/stage2.bst
ppc64l-cross:
- stage: build
+ stage: cross
script:
- bst --colors build --target-arch=ppc64l gnu-toolchain/stage2.bst