aboutsummaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml33
1 files changed, 31 insertions, 2 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 41caa95537..3f4a9b7af5 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -42,6 +42,7 @@ variables:
.x86-64-template: &x86-64-template
tags:
- amd64
+ - physical
# This template should be usable on any system that's based on apt.
.apt-template: &apt-template |
@@ -51,9 +52,9 @@ variables:
export APT_CACHE_DIR="$(pwd)/apt-cache"
rm -f /etc/apt/apt.conf.d/docker-clean
echo 'quiet "1";' \
+ 'Acquire::Retries "20";' \
'APT::Install-Recommends "0";' \
'APT::Install-Suggests "0";' \
- 'APT::Acquire::Retries "20";' \
'APT::Get::Assume-Yes "true";' \
'Dpkg::Use-Pty "0";' \
"Dir::Cache::Archives \"${APT_CACHE_DIR}\"; " \
@@ -100,6 +101,8 @@ variables:
- if [ "$STEM" = yes ]; then apt-get install timelimit; fi
- if [ "$CC" = clang ]; then apt-get install clang; fi
- if [ "$NSS" = yes ]; then apt-get install libnss3 libnss3-dev; fi
+ # llvm-symbolizer for sanitizer backtrace
+ - if [ "$HARDENING" = yes ]; then apt-get install llvm; fi
# TODO: This next line should not be debian-only.
- if [ "$STEM" = yes ]; then git clone --depth 1 https://gitlab.torproject.org/tpo/network-health/stem.git ; export STEM_PATH="$(pwd)/stem"; fi
# TODO: This next line should not be debian-only.
@@ -114,7 +117,7 @@ debian-minimal:
script:
- ./scripts/ci/ci-driver.sh
-# Minmal check on debian/i386: just make, make check.
+# Minimal check on debian/i386: just make, make check.
#
debian-i386-minimal:
image: i386/debian:bullseye
@@ -215,6 +218,16 @@ debian-disable-relay:
- ./scripts/ci/ci-driver.sh
#####
+# GPL licensed mode, enables pow module
+debian-gpl:
+ image: debian:buster
+ <<: *debian-template
+ variables:
+ GPL: "yes"
+ script:
+ - ./scripts/ci/ci-driver.sh
+
+#####
# NSS check on debian
debian-nss:
image: debian:bullseye
@@ -242,3 +255,19 @@ debian-packaging-0.4.6:
rules:
- if: $CI_PROJECT_NAMESPACE == "tpo/core" &&
$CI_COMMIT_BRANCH == "maint-0.4.6"
+
+#####
+# Run tests written in Rust, and run clippy on all Rust code here.
+rust-latest:
+ image: rust:latest
+ <<: *debian-template
+ script:
+ - apt-get install llvm-dev libclang-dev clang
+ - rustup show
+ - cargo build --locked --verbose
+ - cargo test --verbose
+ - rustup component add clippy
+ - rustup show
+ - cargo clippy --all-features --all-targets -- -D warnings
+ after_script:
+ - cargo clean \ No newline at end of file