From 0cd1620265e3cfbdabe481162ac2a5173afae8af Mon Sep 17 00:00:00 2001
From: Patrick MADELA <patrick.madela@synchrotron-soleil.fr>
Date: Wed, 5 Oct 2022 14:23:42 +0200
Subject: [PATCH] Try a new way to upload artifact in generic package registry
 to bypass artifact size limitation

---
 .gitlab-ci.yml | 98 ++++++++++++++++++++++++++++++--------------------
 1 file changed, 59 insertions(+), 39 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8971b61..8c4e4af 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -6,8 +6,9 @@ variables:
 stages:
   - build
   - test
+  - updload
 
-.build-python:
+.build:
   stage: build
   script:
     - yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker
@@ -15,66 +16,85 @@ stages:
     - cd git
     - git checkout v${GIT_VERSION}
     - autoconf
-    - ./configure --prefix=${GIT_ROOT}
+    - ./configure --prefix=${CI_PROJECT_DIR}/${NAME}
     - make && make install
+    - cd ${CI_PROJECT_DIR}/${NAME}
+    - zip -r --symlinks ../${NAME}.zip *
+    - ls -al
   artifacts:
     name: ${NAME}
     paths:
-      - ${GIT_ROOT}/
+      - ${NAME}.zip
 
-.test-python:
+.test:
   stage: test
   script:
-    - ${CI_PROJECT_DIR}/git-${GIT_VERSION}-*/bin/git --version | grep ${GIT_VERSION}
+    - unzip ${NAME}.zip -d ${NAME}
+    - ${NAME}/bin/git --version | grep ${GIT_VERSION}
+
+.upload:
+  stage: upload
+  script:
+    - 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file ${NAME}.zip "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/fakegit/${GIT_VERSION}/"'
 
 linux-el6-x86_64:
   extends: [".build-python"]
   image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el6-gcc44
   variables:
-    NAME: "git-${GIT_VERSION}-${CI_JOB_NAME}"
-    GIT_ROOT: "${CI_PROJECT_DIR}/${NAME}"
+    NAME: "git-${GIT_VERSION}-linux-el6-x86_64"
 
 test-el6-x86_64:
   extends: [".test-python"]
   image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el6-gcc44
+  variables:
+    NAME: "git-${GIT_VERSION}-linux-el6-x86_64"
   needs:
     - linux-el6-x86_64
 
-linux-el6-i686:
-  extends: [".build-python"]
-  image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el6-gcc44-x86
+package-el6-x86_64:
+  extends: [".package"]
+  image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el6-gcc44
   variables:
-    NAME: "git-${GIT_VERSION}-${CI_JOB_NAME}"
-    GIT_ROOT: "${CI_PROJECT_DIR}/${NAME}"
-
-test-el6-i686:
-  extends: [".test-python"]
-  image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el6-gcc44-x86
+    NAME: "git-${GIT_VERSION}-linux-el6-x86_64"
   needs:
-    - linux-el6-i686
+    - linux-el6-x86_64
+    - test-el6-x86_64
 
-linux-el7-x86_64:
-  extends: [".build-python"]
-  image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el7-gcc48
-  variables:
-    NAME: "git-${GIT_VERSION}-${CI_JOB_NAME}"
-    GIT_ROOT: "${CI_PROJECT_DIR}/${NAME}"
+# linux-el6-i686:
+#   extends: [".build-python"]
+#   image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el6-gcc44-x86
+#   variables:
+#     NAME: "git-${GIT_VERSION}-${CI_JOB_NAME}"
+#     GIT_ROOT: "${CI_PROJECT_DIR}/${NAME}"
 
-test-el7-x86_64:
-  extends: [".test-python"]
-  image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el7-gcc48
-  needs:
-    - linux-el7-x86_64
+# test-el6-i686:
+#   extends: [".test-python"]
+#   image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el6-gcc44-x86
+#   needs:
+#     - linux-el6-i686
 
-linux-el7-i686:
-  extends: [".build-python"]
-  image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el7-gcc48-x86
-  variables:
-    NAME: "git-${GIT_VERSION}-${CI_JOB_NAME}"
-    GIT_ROOT: "${CI_PROJECT_DIR}/${NAME}"
+# linux-el7-x86_64:
+#   extends: [".build-python"]
+#   image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el7-gcc48
+#   variables:
+#     NAME: "git-${GIT_VERSION}-${CI_JOB_NAME}"
+#     GIT_ROOT: "${CI_PROJECT_DIR}/${NAME}"
 
-test-el7-i686:
-  extends: [".test-python"]
-  image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el7-gcc48-x86
-  needs:
-    - linux-el7-i686
+# test-el7-x86_64:
+#   extends: [".test-python"]
+#   image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el7-gcc48
+#   needs:
+#     - linux-el7-x86_64
+
+# linux-el7-i686:
+#   extends: [".build-python"]
+#   image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el7-gcc48-x86
+#   variables:
+#     NAME: "git-${GIT_VERSION}-${CI_JOB_NAME}"
+#     GIT_ROOT: "${CI_PROJECT_DIR}/${NAME}"
+
+# test-el7-i686:
+#   extends: [".test-python"]
+#   image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el7-gcc48-x86
+#   needs:
+#     - linux-el7-i686
-- 
GitLab