Skip to content
Snippets Groups Projects
Commit 616b30dc authored by Raymond Toy's avatar Raymond Toy
Browse files

Refactor CI into stages

Refactor CI into 4 stages:  install, build, test, benchmark
parent 09c8327a
No related branches found
No related tags found
No related merge requests found
...@@ -3,54 +3,143 @@ variables: ...@@ -3,54 +3,143 @@ variables:
version: "2020-04-x86" version: "2020-04-x86"
bootstrap: "" bootstrap: ""
linux-runner: stages:
artifacts: - install
paths: - build
- ansi-test/test.out - test
- benchmarks/cl-bench/results - benchmark
cache:
linux:install:
stage: install
tags: tags:
- linux - linux
before_script: artifacts:
- git clone https://gitlab.common-lisp.net/ansi-test/ansi-test.git paths:
- (cd ansi-test; git checkout rtoy-cmucl-expected-failures) - snapshot/
script:
- wget -nv $download_url/cmucl-$version-linux.tar.bz2 - wget -nv $download_url/cmucl-$version-linux.tar.bz2
- wget -nv $download_url/cmucl-$version-linux.extra.tar.bz2 - wget -nv $download_url/cmucl-$version-linux.extra.tar.bz2
- mkdir snapshot - mkdir snapshot
- (cd snapshot; tar xjf ../cmucl-$version-linux.tar.bz2; tar xjf ../cmucl-$version-linux.extra.tar.bz2) - (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: script:
- bin/build.sh $bootstrap -R -C "" -o snapshot/bin/lisp - bin/build.sh $bootstrap -R -C "" -o snapshot/bin/lisp
- bin/make-dist.sh -I dist linux-4 - 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 - bin/run-tests.sh -l dist/bin/lisp 2>&1 | tee test.log
- cd ansi-test - cd ansi-test
- make LISP="../dist/bin/lisp -batch -noinit -nositeinit" - make LISP="../dist/bin/lisp -batch -noinit -nositeinit"
- grep 'No unexpected \(successes\|failures\)' test.out - 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 - mkdir tmp
- CMUCL=../../snapshot/bin/lisp ./run-cmucl.sh - CMUCL=../../snapshot/bin/lisp ./run-cmucl.sh
- CMUCL=../../dist/bin/lisp ./run-cmucl.sh - CMUCL=../../dist/bin/lisp ./run-cmucl.sh
- ../../snapshot/bin/lisp -load report - ../../snapshot/bin/lisp -load report
osx-runner: osx:install:
artifacts: stage: install
paths:
- ansi-test/test.out
- benchmarks/cl-bench/results
tags: tags:
- osx - osx
before_script: artifacts:
- git clone https://gitlab.common-lisp.net/ansi-test/ansi-test.git paths:
- (cd ansi-test; git checkout rtoy-cmucl-expected-failures) - snapshot/
script:
- curl -s -o cmucl-$version-darwin.tar.bz2 $download_url/cmucl-$version-darwin.tar.bz2 - curl -s -o cmucl-$version-darwin.tar.bz2 $download_url/cmucl-$version-darwin.tar.bz2
- mkdir snapshot - mkdir snapshot
- (cd snapshot; tar xjf ../cmucl-$version-darwin.tar.bz2) - (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: script:
- bin/build.sh $bootstrap -R -C "" -o snapshot/bin/lisp - bin/build.sh $bootstrap -R -C "" -o snapshot/bin/lisp
- bin/make-dist.sh -I dist darwin-4 - 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 - bin/run-tests.sh -l dist/bin/lisp 2>&1 | tee test.log
- cd ansi-test - cd ansi-test
- make LISP="../dist/bin/lisp -batch -noinit -nositeinit" - make LISP="../dist/bin/lisp -batch -noinit -nositeinit"
- grep 'No unexpected \(successes\|failures\)' test.out - 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 - mkdir tmp
- CMUCL=../../snapshot/bin/lisp ./run-cmucl.sh - CMUCL=../../snapshot/bin/lisp ./run-cmucl.sh
- CMUCL=../../dist/bin/lisp ./run-cmucl.sh - CMUCL=../../dist/bin/lisp ./run-cmucl.sh
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment