[Git][cmucl/cmucl][master] 2 commits: Refactor CI into stages

Raymond Toy gitlab at common-lisp.net
Sat Sep 5 20:38:04 UTC 2020



Raymond Toy pushed to branch master at cmucl / cmucl


Commits:
616b30dc by Raymond Toy at 2020-09-05T20:37:58+00:00
Refactor CI into stages

Refactor CI into 4 stages:  install, build, test, benchmark

- - - - -
932884a4 by Raymond Toy at 2020-09-05T20:37:58+00:00
Merge branch 'rtoy-refactor-ci-config' into 'master'

Refactor CI in to multiple stages

See merge request cmucl/cmucl!56
- - - - -


1 changed file:

- .gitlab-ci.yml


Changes:

=====================================
.gitlab-ci.yml
=====================================
@@ -3,54 +3,143 @@ variables:
   version: "2020-04-x86"
   bootstrap: ""
 
-linux-runner:
-  artifacts:
-    paths:
-      - ansi-test/test.out
-      - benchmarks/cl-bench/results
+stages:
+  - install
+  - build
+  - test
+  - benchmark
+
+cache:
+
+
+linux:install:
+  stage: install
   tags:
     - linux
-  before_script:
-    - git clone https://gitlab.common-lisp.net/ansi-test/ansi-test.git
-    - (cd ansi-test; git checkout rtoy-cmucl-expected-failures)
+  artifacts:
+    paths:
+      - snapshot/
+  script:
     - wget -nv $download_url/cmucl-$version-linux.tar.bz2
     - wget -nv $download_url/cmucl-$version-linux.extra.tar.bz2
     - mkdir snapshot
     - (cd snapshot; tar xjf ../cmucl-$version-linux.tar.bz2; tar xjf ../cmucl-$version-linux.extra.tar.bz2)
+
+linux:build:
+  stage: build
+  tags:
+    - linux
+  artifacts:
+    paths:
+      - dist/
+  needs:
+    - job: linux:install
+      artifacts: true
   script:
     - bin/build.sh $bootstrap -R -C "" -o snapshot/bin/lisp
     - bin/make-dist.sh -I dist linux-4
+
+linux:test:
+  stage: test
+  tags:
+    - linux
+  artifacts:
+    paths:
+      - ansi-test/test.out
+      - test.log
+  needs:
+    # Needs artifacts from build (dist/)
+    - job: linux:build
+      artifacts: true
+  before_script:
+    - git clone https://gitlab.common-lisp.net/ansi-test/ansi-test.git
+    - (cd ansi-test; git checkout rtoy-cmucl-expected-failures)
+  script:
     - bin/run-tests.sh -l dist/bin/lisp 2>&1 | tee test.log
     - cd ansi-test
     - make LISP="../dist/bin/lisp -batch -noinit -nositeinit"
     - grep 'No unexpected \(successes\|failures\)' test.out
-    - cd ../benchmarks/cl-bench
+
+linux:benchmark:
+  stage: benchmark
+  tags:
+    - linux
+  artifacts:
+    paths:
+      - benchmarks/cl-bench/results
+  needs:
+    # Needs artifacts from install (snapshot/) and build (dist/)
+    - job: linux:install
+      artifacts: true
+    - job: linux:build
+  script:
+    - cd benchmarks/cl-bench
     - mkdir tmp
     - CMUCL=../../snapshot/bin/lisp ./run-cmucl.sh
     - CMUCL=../../dist/bin/lisp ./run-cmucl.sh
     - ../../snapshot/bin/lisp -load report
 
-osx-runner:
-  artifacts:
-    paths:
-      - ansi-test/test.out
-      - benchmarks/cl-bench/results
+osx:install:
+  stage: install
   tags:
     - osx
-  before_script:
-    - git clone https://gitlab.common-lisp.net/ansi-test/ansi-test.git
-    - (cd ansi-test; git checkout rtoy-cmucl-expected-failures)
+  artifacts:
+    paths:
+      - snapshot/
+  script:
     - curl -s -o cmucl-$version-darwin.tar.bz2 $download_url/cmucl-$version-darwin.tar.bz2
     - mkdir snapshot
     - (cd snapshot; tar xjf ../cmucl-$version-darwin.tar.bz2)
+
+osx:build:
+  stage: build
+  tags:
+    - osx
+  artifacts:
+    paths:
+      - dist/
+  needs:
+    - job: osx:install
+      artifacts: true
   script:
     - bin/build.sh $bootstrap -R -C "" -o snapshot/bin/lisp
     - bin/make-dist.sh -I dist darwin-4
+
+osx:test:
+  stage: test
+  tags:
+    - osx
+  artifacts:
+    paths:
+      - ansi-test/test.out
+      - test.log
+  needs:
+    # Needs artifacts from build (dist/)
+    - job: osx:build
+      artifacts: true
+  before_script:
+    - git clone https://gitlab.common-lisp.net/ansi-test/ansi-test.git
+    - (cd ansi-test; git checkout rtoy-cmucl-expected-failures)
+  script:
     - bin/run-tests.sh -l dist/bin/lisp 2>&1 | tee test.log
     - cd ansi-test
     - make LISP="../dist/bin/lisp -batch -noinit -nositeinit"
     - grep 'No unexpected \(successes\|failures\)' test.out 
-    - cd ../benchmarks/cl-bench
+
+osx:benchmark:
+  stage: benchmark
+  tags:
+    - osx
+  artifacts:
+    paths:
+      - benchmarks/cl-bench/results
+  needs:
+    # Needs artifacts from install (snapshot/) and build (dist/)
+    - job: osx:install
+      artifacts: true
+    - job:  osx:build
+  script:
+    - cd benchmarks/cl-bench
     - mkdir tmp
     - CMUCL=../../snapshot/bin/lisp ./run-cmucl.sh
     - CMUCL=../../dist/bin/lisp ./run-cmucl.sh



View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/compare/09c8327acd74339e938f3fcb15da61e44df6d7d1...932884a4b406572614a9830bf864738a0c3a5700

-- 
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/compare/09c8327acd74339e938f3fcb15da61e44df6d7d1...932884a4b406572614a9830bf864738a0c3a5700
You're receiving this email because of your account on gitlab.common-lisp.net.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cmucl-cvs/attachments/20200905/8b428555/attachment-0001.htm>


More information about the cmucl-cvs mailing list