diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 878a2ff5f3298a2482dd0c60579b6542dbddd922..9d9ebe2708818ae0ab4a0aeaceb4d6dfa93c31ee 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -561,3 +561,21 @@ doc-tarball:
     - ls -lh
     - mv docs/*.tar.xz .
 
+source-tarball:
+  stage: packaging
+  tags:
+    - x86_64-linux
+  image: ghcci/x86_64-linux-deb9:0.2
+  only:
+    - tags
+  artifacts:
+    paths:
+      - ghc-*.tar.xz
+      - version
+  script:
+    - mk/get-win32-tarballs.sh download all
+    - ./boot
+    - ./configure
+    - make sdist
+    - mv sdistprep/*.xz  .
+    - make show VALUE=version > version