diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e54bc891947f2190fcab536760c4482cd4e0e4f5..42daeee6a075ae8f15f1a3c4b295f07e26fbc130 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,35 +2,42 @@ stages:
   - build
   - distribute
 
-build:windows:
+build:x86_64windows:
   rules:
     - if: $CI_COMMIT_TAG
   stage: build
   image: rust:1-buster
   before_script:
     - rustup target add x86_64-pc-windows-gnu
-    - rustup target add i686-pc-windows-gnu
+    - apt install gcc-mingw-w64-x86-64
   script:
     - cargo build --release --target=x86_64-pc-windows-gnu
-    - cargo build --release --target=i686-pc-windows-gnu
   artifacts:
     paths:
       - target/
 
-build:linux:
+build:x86_64linux:
   rules:
     - if: $CI_COMMIT_TAG
   stage: build
   image: rust:1-buster
   before_script:
     - rustup target add i686-unknown-linux-gnu
-    - rustup target add armv7-unknown-linux-gnueabihf
-    - rustup target add aarch64-unknown-linux-gnu
   script:
     - cargo build --release --target=x86_64-unknown-linux-gnu
-    - cargo build --release --target=aarch64-unknown-linux-gnu
+  artifacts:
+    paths:
+      - target/
+
+build:i686linux:
+  rules:
+    - if: $CI_COMMIT_TAG
+  stage: build
+  image: rust:1-buster
+  before_script:
+    - rustup target add i686-unknown-linux-gnu
+  script:
     - cargo build --release --target=i686-unknown-linux-gnu
-    - cargo build --release --target=armv7-unknown-linux-gnueabihf
   artifacts:
     paths:
       - target/