diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d30a252430f5471e2c90135bc7167f5988034ec8..5576da4fb08b19568d8072461deddb812ebae6cd 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -7,6 +7,7 @@ before_script:
   - mkdir -p $HOME/.cargo/bin
   - curl -sSL https://github.com/rust-lang/mdBook/releases/download/v0.4.31/mdbook-v0.4.31-x86_64-unknown-linux-musl.tar.gz | tar -xz --directory=$HOME/.cargo/bin
   - export PATH=$PATH:$HOME/.cargo/bin
+  - rustup component add rustfmt
   ##
   ## Install ssh-agent if not already installed, it is required by Docker.
   ##
diff --git a/codes/run_tests.sh b/codes/run_tests.sh
index 8c2e74c3c4c29afb4dde329ea2d9140ff8ae320a..004243133f23544a0a15a76b3337034228ea37a9 100755
--- a/codes/run_tests.sh
+++ b/codes/run_tests.sh
@@ -14,4 +14,6 @@ for d in *; do
     cargo test --manifest-path $d/Cargo.toml --workspace --verbose
     echo ==================== Running cargo doc for $d  ====================
     cargo doc --manifest-path $d/Cargo.toml
+    echo ==================== Running cargo fmt for $d  ====================
+    cargo fmt --all --manifest-path $d/Cargo.toml -- --check
 done