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/firmware/version.h") include: - ci/environment.yml - ci/prebuild.yml - ci/build.yml - ci/test.yml - ci/test-hw.yml - ci/test-nonenglish.yml - ci/posttest.yml - ci/deploy.yml