-
Notifications
You must be signed in to change notification settings - Fork 47
/
Copy path.gitlab-ci.yml
100 lines (89 loc) · 2.2 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# gitlab CI config for uvm-python.
# Official language image. Look for the different tagged releases at:
# https://hub.docker.com/r/library/python/tags/
#image: python:3.7.6
image: python:3.11.2
#image: gcc:10.2.0
# Change pip's cache directory to be inside the project directory since we can
# only cache local items.
variables:
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
# Pip's cache doesn't store the python packages
# https://pip.pypa.io/en/stable/reference/pip_install/#caching
#
# If you want to also cache the installed packages, you have to install
# them in a virtualenv and cache it as well.
cache:
when: always
paths:
- .cache/pip
- venv/
- iverilog/
- iverilog/*.o
- .pytype/
- verilator/
- verilator/bin/*
- verilator/src/obj_dbg/*.o
before_script:
- uname -a
- gcc --version
- dpkg --list | grep compiler
- python -V # Print out python version for debugging
- python -m venv venv
- source venv/bin/activate
- python -m pip freeze
- python -m pip install -r ci/requirements.txt
- apt-get update -qq
- apt-cache madison gcc
- apt-get install -y -qq flex bison gperf help2man
# - bash ci/install_ghdl.sh
- ln -s src/uvm ./uvm
- ls -la
- export VERILATOR_ROOT="$PWD/verilator"
- export PATH="$VERILATOR_ROOT/bin:$PATH"
# No pytype support for python 3.11 yet
#pytype:
# script:
# - pip install pytype
# - make pytype
# Commented out, until errors fixed locally first
#pyright:
# script:
# - pip install pyright
# - pyright
lint:
script:
- pip install flake8
- make lint
test_icarus:
script:
- bash ci/install_iverilog.sh
- SIM=icarus make test || exit 1
artifacts:
paths:
- results_icarus.log
test_verilator:
script:
- bash ci/install_verilator.sh
- SIM=verilator make test || exit 1
artifacts:
paths:
- results_verilator.log
#test_ghdl:
# script:
# - SIM=ghdl make test TOPLEVEL_LANG=vhdl || exit 1
#coverage:
# script:
# - pip install coverage coveralls
# - make cov-all
# - coveralls
#docs:
# script:
# - pip install sphinx sphinx-rtd-theme
# - cd docs ; make html
# - mv build/html/ ../public/
# artifacts:
# paths:
# - public
# only:
# - master