diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ba2c00f21a80ce168dc64e9ea0ca7f903ac579b5..cb77b70320fcb69a1a7075671fb6935c2cd2dde3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -17,17 +17,21 @@ build:
   before_script:
     - go version
   script:
-    - go build -o $CI_PROJECT_NAME-$GOOS-$GOARCH
+    - go build -o $CI_PROJECT_NAME-$GOOS-$GOARCH${GOARM:+v${GOARM}}
   artifacts:
     paths:
-      - $CI_PROJECT_NAME-$GOOS-$GOARCH
+      - $CI_PROJECT_NAME-$GOOS-$GOARCH${GOARM:+v${GOARM}}
   parallel:
     matrix:
-      - GOOS:
-          - linux
-        GOARCH:
-          - amd64
-          - arm
+      - GOOS: linux
+        GOARCH: amd64
+      - GOOS: linux
+        GOARCH: arm
+        GOARM:
+          - 6
+          - 7
+      - GOOS: linux
+        GOARCH: arm64
 
 lint:
   image: golangci/golangci-lint:v1.43-alpine
@@ -59,6 +63,6 @@ upload:
     - if: '$CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH'
   script:
     - >-
-      for file in ${CI_PROJECT_NAME}-linux-amd64 ${CI_PROJECT_NAME}-linux-arm; do
+      for file in ${CI_PROJECT_NAME}-*-* ; do
       curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${file} ${PACKAGE_REGISTRY_URL}/${CI_COMMIT_SHA}/${file} || exit $? ;
       done