diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0cd20cf9f919e7c27a8df50a15c06a7bcec95943..84eb612113b1cee44fc9e523815f689c4e22f8ea 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -121,9 +121,8 @@ fedora:
   script:
     - dnf install -y rust cargo rpm-build rpmdevtools rust-packaging dnf-plugins-core curl
     - rpmdev-setuptree
-    - cp ./rust-nm-reactor.spec ~/rpmbuild/SPECS/
+    - cp ./contrib/fedora/rust-nm-reactor.spec ~/rpmbuild/SPECS/
     - spectool -g -R ~/rpmbuild/SPECS/rust-nm-reactor.spec
     - dnf builddep -y ~/rpmbuild/SPECS/rust-nm-reactor.spec
     - rpmbuild -ba ~/rpmbuild/SPECS/rust-nm-reactor.spec
-    - |
-      for file in ~/rpmbuild/RPMS/**/*.rpm; do curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${file} ${PACKAGE_REGISTRY_URL}/$(basename $file); done
+    - bash contrib/fedora/upload-rpms.sh
diff --git a/rust-nm-reactor.spec b/contrib/fedora/rust-nm-reactor.spec
similarity index 100%
rename from rust-nm-reactor.spec
rename to contrib/fedora/rust-nm-reactor.spec
diff --git a/contrib/fedora/upload-rpms.sh b/contrib/fedora/upload-rpms.sh
new file mode 100644
index 0000000000000000000000000000000000000000..7e005367668abc2cd347ad3da878104d469eacdd
--- /dev/null
+++ b/contrib/fedora/upload-rpms.sh
@@ -0,0 +1,9 @@
+for file in ~/rpmbuild/RPMS/**/*.rpm
+do
+  curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${file} ${PACKAGE_REGISTRY_URL}/$(basename $file)
+done
+
+for file in ~/rpmbuild/SRPMS/*.rpm
+do
+  curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${file} ${PACKAGE_REGISTRY_URL}/$(basename $file)
+done