-
-
Notifications
You must be signed in to change notification settings - Fork 665
/
.gitlab-ci.yml
50 lines (40 loc) · 1.32 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
variables:
# See https://docs.gitlab.com/ce/user/project/pipelines/settings.html#git-strategy
GIT_STRATEGY: "clone"
# 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: "400"
# No need for TLS because everything runs on the same machine
DOCKER_TLS_CERTDIR: ""
NIX_SHELL: "nix-shell"
stages:
- environment
- prebuild
- build
- test
- posttest
- deploy
default:
# Cancel jobs when a newer pipeline appears
interruptible: true
before_script:
- . /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh || true
- $NIX_SHELL --run "poetry install --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/projects/firmware/version.h")
include:
- ci/environment.yml
- ci/prebuild.yml
- ci/build.yml
- ci/test.yml
- ci/test-nonenglish.yml
- ci/posttest.yml
- ci/deploy.yml