WARNING! Access to this system is limited to authorised users only.
Unauthorised users may be subject to prosecution.
Unauthorised access to this system is a criminal offence under Australian law (Federal Crimes Act 1914 Part VIA)
It is a criminal offence to:
(1) Obtain access to data without authority. -Penalty 2 years imprisonment.
(2) Damage, delete, alter or insert data without authority. -Penalty 10 years imprisonment.
User activity is monitored and recorded. Anyone using this system expressly consents to such monitoring and recording.

.gitlab-ci.yml 3.5 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:latest"
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:
John Zhang's avatar
John Zhang committed
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

qinsoon's avatar
qinsoon committed
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
stages:
  - build
  - test

build_vm:
  stage: build
  script:
    - rustc --version
    - time CARGO_HOME=.cargo RUST_BACKTRACE=1 CC=clang cargo build

build_test:
  stage: build
  script:
    - rustc --version
    - time CARGO_HOME=.cargo RUST_BACKTRACE=1 CC=clang cargo test --no-run

John Zhang's avatar
John Zhang committed
45
before_script:
qinsoon's avatar
fix  
qinsoon committed
46
  - export PATH=$PATH:/root/.cargo/bin
qinsoon's avatar
qinsoon committed
47
  - export MU_ZEBU=$CI_PROJECT_DIR
John Zhang's avatar
John Zhang committed
48

49
test:cargo:api:
50 51
  stage: test
  script:
52
    - CARGO_HOME=.cargo RUST_BACKTRACE=1 RUST_TEST_THREADS=1 CC=clang cargo test test_api 2> /dev/null
53 54

test:cargo:ir:
55 56
  stage: test
  script:
57
    - CARGO_HOME=.cargo RUST_BACKTRACE=1 RUST_TEST_THREADS=1 CC=clang cargo test test_ir 2> /dev/null
58 59

test:cargo:compiler:
60 61
  stage: test
  script:
62
    - CARGO_HOME=.cargo RUST_BACKTRACE=1 RUST_TEST_THREADS=1 CC=clang cargo test test_compiler 2> /dev/null
63 64

test:cargo:runtime:
65 66
  stage: test
  script:
67
    - CARGO_HOME=.cargo RUST_BACKTRACE=1 RUST_TEST_THREADS=1 CC=clang cargo test test_runtime 2> /dev/null
John Zhang's avatar
John Zhang committed
68 69

testjit:milestones:
70 71
  stage: test
  script:
John Zhang's avatar
John Zhang committed
72
    - RUST_BACKTRACE=1 pytest tests/test_jit/test_milestones.py -v
John Zhang's avatar
John Zhang committed
73 74

testjit:binops:
75 76
  stage: test
  script:
John Zhang's avatar
John Zhang committed
77
    - RUST_BACKTRACE=1 pytest tests/test_jit/test_binops.py -v
John Zhang's avatar
John Zhang committed
78 79

testjit:cmpops:
80 81
  stage: test
  script:
John Zhang's avatar
John Zhang committed
82
    - RUST_BACKTRACE=1 pytest tests/test_jit/test_cmpops.py -v
John Zhang's avatar
John Zhang committed
83

John Zhang's avatar
John Zhang committed
84 85 86 87 88 89
testjit:controlflow:
  stage: test
  script:
    - cd tests/test_jit
    - RUST_BACKTRACE=1 pytest test_controlflow.py -v

John Zhang's avatar
John Zhang committed
90
testjit:convops:
John Zhang's avatar
John Zhang committed
91 92
  stage: test
  script:
John Zhang's avatar
John Zhang committed
93
    - RUST_BACKTRACE=1 pytest tests/test_jit/test_convops.py -v
John Zhang's avatar
John Zhang committed
94

John Zhang's avatar
John Zhang committed
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
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
115 116 117
testjit:rpython:
  stage: test
  script:
John Zhang's avatar
John Zhang committed
118
    - git clone https://github.com/microvm/RPySOM.git tests/test_jit/RPySOM
John Zhang's avatar
John Zhang committed
119
    - 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
120
    - cd tests/test_jit/mu-client-pypy
121
    - git checkout mu-rewrite
John Zhang's avatar
John Zhang committed
122
    - git apply pypy.patch
123
    - cd $CI_PROJECT_DIR/tests/test_jit
qinsoon's avatar
qinsoon committed
124
    - LD_LIBRARY_PATH=. RUST_BACKTRACE=1 PYTHONPATH=mu-client-pypy:RPySOM/src RPYSOM=RPySOM pytest test_rpython*.py -v
John Zhang's avatar
John Zhang committed
125 126 127 128 129 130 131 132
  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