.gitlab-ci.yml 2.55 KB
Newer Older
Yi Lin's avatar
Yi Lin committed
1 2 3
# This file is a template, and might need editing before it works on your project.
# Unofficial language image. Look for the different tagged releases at:
# https://hub.docker.com/r/scorpil/rust/tags/
qinsoon's avatar
qinsoon committed
4
image: "qinsoon/ubuntu-zebu-test:v0.1"
Yi Lin's avatar
Yi Lin committed
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

# Optional: Pick zero or more services to be used on all builds.
# Only needed when using a docker container to run your tests in.
# Check out: http://docs.gitlab.com/ce/ci/docker/using_docker_images.html#what-is-service
#services:
#  - mysql:latest
#  - redis:latest
#  - postgres:latest

# Optional: Install a C compiler, cmake and git into the container.
# You will often need this when you (or any of your dependencies) depends on C code.
#before_script:
#- apt-get update -yqq
#- apt-get install -yqq --no-install-recommends build-essential

# Use cargo to test the project
John Zhang's avatar
John Zhang committed
21
cache:
22
  key: "$CI_BUILD_STAGE/$CI_BUILD_REF_NAME"
John Zhang's avatar
John Zhang committed
23 24 25 26 27
  paths:
    - .cargo/registry/cache
    - .cargo/registry/index
    - target
    - Cargo.lock
John Zhang's avatar
John Zhang committed
28

John Zhang's avatar
John Zhang committed
29
before_script:
John Zhang's avatar
John Zhang committed
30
  - time CARGO_HOME=.cargo RUST_BACKTRACE=1 CC=clang cargo test --no-run
John Zhang's avatar
John Zhang committed
31

32
test:cargo:api:
33 34
  stage: test
  script:
35
    - CARGO_HOME=.cargo RUST_BACKTRACE=1 RUST_TEST_THREADS=1 CC=clang cargo test test_api
36 37

test:cargo:ir:
38 39
  stage: test
  script:
40
    - CARGO_HOME=.cargo RUST_BACKTRACE=1 RUST_TEST_THREADS=1 CC=clang cargo test test_ir
41 42

test:cargo:compiler:
43 44
  stage: test
  script:
45
    - CARGO_HOME=.cargo RUST_BACKTRACE=1 RUST_TEST_THREADS=1 CC=clang cargo test test_compiler
46 47

test:cargo:runtime:
48 49
  stage: test
  script:
50
    - CARGO_HOME=.cargo RUST_BACKTRACE=1 RUST_TEST_THREADS=1 CC=clang cargo test test_runtime
John Zhang's avatar
John Zhang committed
51 52

testjit:milestones:
53 54
  stage: test
  script:
John Zhang's avatar
John Zhang committed
55
    - RUST_BACKTRACE=1 pytest tests/test_jit/test_milestones.py -v
John Zhang's avatar
John Zhang committed
56 57

testjit:binops:
58 59
  stage: test
  script:
John Zhang's avatar
John Zhang committed
60
    - RUST_BACKTRACE=1 pytest tests/test_jit/test_binops.py -v
John Zhang's avatar
John Zhang committed
61 62

testjit:cmpops:
63 64
  stage: test
  script:
John Zhang's avatar
John Zhang committed
65
    - RUST_BACKTRACE=1 pytest tests/test_jit/test_cmpops.py -v
John Zhang's avatar
John Zhang committed
66

John Zhang's avatar
John Zhang committed
67
testjit:convops:
John Zhang's avatar
John Zhang committed
68 69
  stage: test
  script:
John Zhang's avatar
John Zhang committed
70
    - RUST_BACKTRACE=1 pytest tests/test_jit/test_convops.py -v
John Zhang's avatar
John Zhang committed
71 72 73 74 75

testjit:rpython:
  stage: test
  script:
    - git clone https://gitlab.anu.edu.au/mu/mu-client-pypy.git tests/test_jit/mu-client-pypy
John Zhang's avatar
John Zhang committed
76 77 78
    - cd tests/test_jit/mu-client-pypy
    - git checkout test-mu-impl-jit
    - cd rpython/translator/mu/rpyc; make
79
    - cd $CI_PROJECT_DIR/tests/test_jit
John Zhang's avatar
John Zhang committed
80
    - RUST_BACKTRACE=1 PYTHONPATH=mu-client-pypy MU_RUST=$CI_PROJECT_DIR pytest test_rpython.py -v
John Zhang's avatar
John Zhang committed
81 82 83 84 85 86 87 88
  cache:
    key: "$CI_BUILD_STAGE/$CI_BUILD_REF_NAME"
    paths:
      - .cargo/registry/cache
      - .cargo/registry/index
      - target
      - Cargo.lock
      - tests/test_jit/mu-client-pypy