.gitlab-ci.yml 3.09 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 68 69 70 71 72
testjit:controlflow:
  stage: test
  script:
    - cd tests/test_jit
    - RUST_BACKTRACE=1 pytest test_controlflow.py -v

John Zhang's avatar
John Zhang committed
73
testjit:convops:
John Zhang's avatar
John Zhang committed
74 75
  stage: test
  script:
John Zhang's avatar
John Zhang committed
76
    - RUST_BACKTRACE=1 pytest tests/test_jit/test_convops.py -v
John Zhang's avatar
John Zhang committed
77

John Zhang's avatar
John Zhang committed
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
testjit:double:
  stage: test
  script:
    - RUST_BACKTRACE=1 pytest tests/test_jit/test_double.py -v

testjit:memops:
  stage: test
  script:
    - RUST_BACKTRACE=1 pytest tests/test_jit/test_memops.py -v

testjit:milestones:
  stage: test
  script:
    - RUST_BACKTRACE=1 pytest tests/test_jit/test_milestones.py -v

testjit:otherops:
  stage: test
  script:
    - RUST_BACKTRACE=1 pytest tests/test_jit/test_otherops.py -v

John Zhang's avatar
John Zhang committed
98 99 100 101
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
102 103 104
    - cd tests/test_jit/mu-client-pypy
    - git checkout test-mu-impl-jit
    - cd rpython/translator/mu/rpyc; make
105
    - cd $CI_PROJECT_DIR/tests/test_jit
John Zhang's avatar
John Zhang committed
106
    - RUST_BACKTRACE=1 PYTHONPATH=mu-client-pypy MU_RUST=$CI_PROJECT_DIR pytest test_rpython.py -v
John Zhang's avatar
John Zhang committed
107 108 109 110 111 112 113 114
  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