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/09c8327acd74339e938f3fc...