]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
CI: Add Rust tests and clippy
authorMicah Elizabeth Scott <beth@torproject.org>
Mon, 14 Aug 2023 20:13:36 +0000 (13:13 -0700)
committerMicah Elizabeth Scott <beth@torproject.org>
Tue, 15 Aug 2023 16:52:30 +0000 (09:52 -0700)
This adds a new "rust-latest" CI target that runs tests and clippy for
everything in the workspace. It's a subset of the equivalent on Arti.

.gitlab-ci.yml
changes/rust_ci [new file with mode: 0644]

index 789f6c48400a9512106601cf0c0ed9a1a863b81a..45142671aa6a8852dab4244980ddb1cbdc33254b 100644 (file)
@@ -253,3 +253,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
diff --git a/changes/rust_ci b/changes/rust_ci
new file mode 100644 (file)
index 0000000..868f94f
--- /dev/null
@@ -0,0 +1,4 @@
+  o Minor features (testing):
+     - All Rust code is now linted (cargo clippy) as part of GitLab CI,
+       and existing warnings have been fixed.
+     - Any unit tests written in Rust now run as part of GitLab CI.