summaryrefslogtreecommitdiff
path: root/.circleci
diff options
context:
space:
mode:
authorAlp Mestanogullari <alp@well-typed.com>2018-11-07 01:21:55 +0100
committerBen Gamari <ben@smart-cactus.org>2018-11-30 22:38:54 -0500
commitb9260e925e998f715865ae043bdb9f779ab5f849 (patch)
treedf0beb50dd631189d87e711b79c4c7ba72908dc7 /.circleci
parent6e24a0bee0d0be8da040c3d5a1e90141abd89852 (diff)
downloadhaskell-b9260e925e998f715865ae043bdb9f779ab5f849.tar.gz
Add a Gitlab CI script that runs Circle CI validation jobs
And put it to use for running i386 and x86_64 linux validate, x86_64 darwin validate and building with hadrian. For all the validate jobs, we save the artifacts (bindist + test results for now) in Circle CI and subsequently grab them in Gitlab. The nice side effect is that merge requests now show the change in test results from the patches and let you download or browse the artifacts.
Diffstat (limited to '.circleci')
-rw-r--r--.circleci/config.yml40
1 files changed, 27 insertions, 13 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 8bb9306103..4b8d7a4e96 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -80,6 +80,11 @@ aliases:
run:
name: Push Performance Git Notes
command: .circleci/push-test-metrics.sh
+ - &store_test_artifacts
+ store_artifacts:
+ # we might want to add the whole output of the test phase
+ # too at some point
+ path: test-results/junit.xml
- &slowtest
run:
name: Full Test
@@ -90,17 +95,13 @@ aliases:
run:
name: Create bindist
# Reduce compression effort to 3
- command: make binary-dist TAR_COMP_OPTS="-2"
+ command: make binary-dist TAR_COMP_OPTS="-2" && mv ghc*.tar.xz ghc.tar.xz
# Building bindist takes ~15 minutes without output, account for
# that.
no_output_timeout: "30m"
- - &storeartifacts
- run:
- name: Store artifacts
- command: |
- curl https://ghc-artifacts.s3.amazonaws.com/tools/ghc-artifact-collector-$GHC_COLLECTOR_FLAVOR --output ghc-artifact-collector
- chmod +x ghc-artifact-collector
- ./ghc-artifact-collector ghc*.tar.xz
+ - &store_bindist
+ store_artifacts:
+ path: ghc.tar.xz
- &trigger_on_tags
filters:
tags:
@@ -124,9 +125,10 @@ jobs:
- *configure_unix
- *make
- *bindist
- - *storeartifacts
+ - *store_bindist
- *test
- *store_test_results
+ - *store_test_artifacts
- *push_perf_note
"validate-x86_64-freebsd":
@@ -147,9 +149,10 @@ jobs:
- *configure_bsd
- *make
- *bindist
- - *storeartifacts
+ - *store_bindist
- *test
- *store_test_results
+ - *store_test_artifacts
- *push_perf_note
"validate-x86_64-darwin":
@@ -173,9 +176,10 @@ jobs:
- *configure_unix
- *make
- *bindist
- - *storeartifacts
+ - *store_bindist
- *test
- *store_test_results
+ - *store_test_artifacts
- *push_perf_note
"validate-hadrian-x86_64-linux":
@@ -211,6 +215,7 @@ jobs:
- *test
- *store_test_results
- *push_perf_note
+ - *store_test_artifacts
"validate-x86_64-linux-llvm":
resource_class: xlarge
@@ -237,6 +242,8 @@ jobs:
- *configure_unix
- *make
- *test
+ - *store_test_results
+ - *store_test_artifacts
- *push_perf_note
# Nightly build with -DDEBUG using devel2 flavour
@@ -259,6 +266,7 @@ jobs:
- *make
- *test
- *store_test_results
+ - *store_test_artifacts
- *push_perf_note
"validate-i386-linux":
@@ -278,9 +286,10 @@ jobs:
- *configure_unix_32
- *make
- *bindist
- - *storeartifacts
+ - *store_bindist
- *test
- *store_test_results
+ - *store_test_artifacts
- *push_perf_note
"validate-x86_64-fedora":
@@ -300,9 +309,10 @@ jobs:
- *configure_unix
- *make
- *bindist
- - *storeartifacts
+ - *store_bindist
- *test
- *store_test_results
+ - *store_test_artifacts
- *push_perf_note
"slow-validate-x86_64-linux":
@@ -321,6 +331,7 @@ jobs:
- *make
- *slowtest
- *store_test_results
+ - *store_test_artifacts
- *push_perf_note
workflows:
@@ -340,6 +351,9 @@ workflows:
- validate-x86_64-fedora:
*trigger_on_tags
+ branches:
+ ignore: /gitlab\/.*/
+
nightly:
triggers:
- schedule: