diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 556b865da29399a07128d4691aed9aceb160e7b0..609e1b4907289504b259f785db5c05305e908ee4 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -25,7 +25,11 @@
 
 .common_build:
     before_script:
-        - apt update && apt -y install make libmpv-dev cmake clang clang-format gcc g++ libomp-dev libsdl2-dev libsdl2-image-dev xxd mkvtoolnix libcurl4-openssl-dev libsqlite3-dev manpages man-db cargo
+        - apt update && apt -y install make libmpv-dev cmake clang clang-format gcc g++ libomp-dev libsdl2-dev libsdl2-image-dev xxd mkvtoolnix libcurl4-openssl-dev libsqlite3-dev manpages man-db
+        - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh
+        - chmod +x ./rustup.sh
+        - ./rustup.sh -y --default-toolchain beta
+        - source ~/.cargo/env
     script:
         - cmake -Bbuild -DCMAKE_C_COMPILER=${c_compiler} -DCMAKE_CXX_COMPILER=${cxx_compiler} && make -Cbuild