forked from trezor/trezor-firmware
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
47 lines (39 loc) · 1.26 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
variables:
# Using git fetch is faster
# See https://docs.gitlab.com/ce/user/project/pipelines/settings.html#git-strategy
GIT_STRATEGY: "fetch"
# Init submodules
# See https://docs.gitlab.com/ee/ci/yaml/#git-submodule-strategy
GIT_SUBMODULE_STRATEGY: "recursive"
# Use shallow cloning to speed up git clone. This can fail, if retrying an older build on CI
# and the old commit is not in the shallow history any more.
# See https://docs.gitlab.com/ee/ci/yaml/#shallow-cloning
GIT_DEPTH: "50"
# Run `make` in parallel
MAKEFLAGS: "-j10"
# Apply timeout to pytest-based tests
PYTEST_TIMEOUT: "300"
# Pipenv cache
PIPENV_VENV_IN_PROJECT: "true"
PIPENV_CACHE_DIR: ".cache/"
# No need for TLS because everything runs on the same machine
DOCKER_TLS_CERTDIR: ""
stages:
- environment
- prebuild
- build
- test
- posttest
- deploy
before_script:
- . $HOME/.nix-profile/etc/profile.d/nix.sh || true
- nix-shell --run "pipenv sync"
- export LEGACY_VERSION=$(nix-shell --run "./tools/version.sh legacy/firmware/version.h")
- export CORE_VERSION=$(nix-shell --run "./tools/version.sh core/embed/firmware/version.h")
include:
- ci/environment.yml
- ci/prebuild.yml
- ci/build.yml
- ci/test.yml
- ci/posttest.yml
- ci/deploy.yml