Skip to content
Snippets Groups Projects
.gitlab-ci.yml 3.3 KiB
Newer Older
variables:
Raymond Toy's avatar
Raymond Toy committed
  download_url: "https://common-lisp.net/project/cmucl/downloads/snapshots/2020/04"
  version: "2020-04-x86"
  bootstrap: ""
Raymond Toy's avatar
Raymond Toy committed
stages:
  - install
  - build
  - test
  - benchmark

cache:


linux:install:
  stage: install
Raymond Toy's avatar
Raymond Toy committed
  artifacts:
    paths:
      - snapshot/
  script:
    - wget -nv $download_url/cmucl-$version-linux.tar.bz2
    - wget -nv $download_url/cmucl-$version-linux.extra.tar.bz2
Raymond Toy's avatar
Raymond Toy committed
    - mkdir snapshot
    - (cd snapshot; tar xjf ../cmucl-$version-linux.tar.bz2; tar xjf ../cmucl-$version-linux.extra.tar.bz2)
Raymond Toy's avatar
Raymond Toy committed

linux:build:
  stage: build
  tags:
    - linux
  artifacts:
    paths:
      - dist/
  needs:
    - job: linux:install
      artifacts: true
Raymond Toy's avatar
Raymond Toy committed
  script:
    - bin/build.sh $bootstrap -R -C "" -o snapshot/bin/lisp
Raymond Toy's avatar
Raymond Toy committed
    - bin/make-dist.sh -I dist linux-4
Raymond Toy's avatar
Raymond Toy committed

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:
Raymond Toy's avatar
Raymond Toy committed
    - bin/run-tests.sh -l dist/bin/lisp 2>&1 | tee test.log
    - cd ansi-test
    - make LISP="../dist/bin/lisp -batch -noinit -nositeinit"
Raymond Toy's avatar
Raymond Toy committed
    - grep 'No unexpected \(successes\|failures\)' test.out
Raymond Toy's avatar
Raymond Toy committed

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
Raymond Toy's avatar
Raymond Toy committed
    - mkdir tmp
    - CMUCL=../../snapshot/bin/lisp ./run-cmucl.sh
    - CMUCL=../../dist/bin/lisp ./run-cmucl.sh
    - ../../snapshot/bin/lisp -load report
Raymond Toy's avatar
Raymond Toy committed

Raymond Toy's avatar
Raymond Toy committed
osx:install:
  stage: install
Raymond Toy's avatar
Raymond Toy committed
  tags:
    - osx
Raymond Toy's avatar
Raymond Toy committed
  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)
Raymond Toy's avatar
Raymond Toy committed

osx:build:
  stage: build
  tags:
    - osx
  artifacts:
    paths:
      - dist/
  needs:
    - job: osx:install
      artifacts: true
Raymond Toy's avatar
Raymond Toy committed
  script:
    - bin/build.sh $bootstrap -R -C "" -o snapshot/bin/lisp
Raymond Toy's avatar
Raymond Toy committed
    - bin/make-dist.sh -I dist darwin-4
Raymond Toy's avatar
Raymond Toy committed

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:
Raymond Toy's avatar
Raymond Toy committed
    - 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 
Raymond Toy's avatar
Raymond Toy committed

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
Raymond Toy's avatar
Raymond Toy committed
    - mkdir tmp
    - CMUCL=../../snapshot/bin/lisp ./run-cmucl.sh
    - CMUCL=../../dist/bin/lisp ./run-cmucl.sh
    - ../../snapshot/bin/lisp -load report