[7.0] d24694967 Adjust CircleCI config to take dist-url as an arg

Martin Blix Grydeland martin at varnish-software.com
Wed Sep 15 12:05:07 UTC 2021


commit d24694967ff2b6a6d88f91257443512141a62569
Author: Martin Blix Grydeland <martin at varnish-software.com>
Date:   Wed Sep 15 14:03:38 2021 +0200

    Adjust CircleCI config to take dist-url as an arg

diff --git a/.circleci/config.yml b/.circleci/config.yml
index 705a0162c..d9ba4fa58 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -7,6 +7,12 @@ parameters:
   pkg-commit:
     type: string
     default: "7.0"
+  dist-url:
+    type: string
+    default: ""
+  dist-url-sha256:
+    type: string
+    default: ""
   configure_args:
     type: string
     default: |
@@ -17,7 +23,7 @@ parameters:
         --with-persistent-storage \
 jobs:
   dist:
-    description: Builds varnish-x.y.z.tar.gz that is used later for the packaging jobs
+    description: Build or download varnish-x.y.z.tar.gz that is used later for the packaging jobs
     docker:
       - image: centos:7
     steps:
@@ -37,17 +43,40 @@ jobs:
                 python3 \
                 python-sphinx
       - checkout
-      - run:
-          name: Create the dist tarball
-          command: |
-            git checkout << pipeline.parameters.vc-commit >>
-            # if version is "trunk", it's a weekly tarball, override the version
-            if grep 'AC_INIT.*trunk.*' ./configure.ac; then
-                sed -i -e "s/^AC_INIT.*trunk.*/AC_INIT([Varnish], [$(date +%Y%m%d)], [varnish-dev at varnish-cache.org])/" ./configure.ac
-                touch .is_weekly
-            fi
-            ./autogen.des --quiet
-            make dist -j 16
+      - when:
+          condition: << pipeline.parameters.dist-url >>
+          steps:
+            - run:
+                name: Download the dist tarball
+                command: |
+                  curl -s << pipeline.parameters.dist-url >> -o varnish-dist.tar.gz
+            - when:
+                condition: << pipeline.parameters.dist-url-sha256 >>
+                steps:
+                  - run:
+                      name: Verify downloaded tarball
+                      command: |
+                        echo "<< pipeline.parameters.dist-url-sha256 >> varnish-dist.tar.gz" | sha256sum -c
+            -run:
+              name: Rename the dist tarball by parsed version
+              command: |
+                mkdir parse-version-tmp
+                cd parse-version-tmp
+                tar xzf ../varnish-dist.tar.gz
+                VERSION=$(varnish-*/configure --version | awk 'NR == 1 {print $NF}')
+                cd ..
+                mv -v varnish-dist.tar.gz varnish-${VERSION}.tar.gz
+      - unless:
+          condition: << pipeline.parameters.dist-url >>
+          steps:
+            - run:
+                name: Create the dist tarball
+                command: |
+                  git checkout << pipeline.parameters.vc-commit >>
+                  # Locally built tarballs are always weekly - built with date in package name
+                  touch .is_weekly
+                  ./autogen.des --quiet
+                  make dist -j 16
       - persist_to_workspace:
           root: .
           paths:


More information about the varnish-commit mailing list