[master] d3b60b06a Adjust CircleCI config to be compatible with release branches
Martin Blix Grydeland
martin at varnish-software.com
Wed Sep 15 14:17:05 UTC 2021
commit d3b60b06a5c34d5d6b3ea086cc0161841f8828b4
Author: Martin Blix Grydeland <martin at varnish-software.com>
Date: Wed Sep 15 14:03:38 2021 +0200
Adjust CircleCI config to be compatible with release branches
Add the necessary bits to the master CCI configuration to make the package
building parts also work in the release branches. This way there is no
need to tailor the release branches' CCI setup on release day.
This should not (famous last words) change how the weekly packages from
the master branch are generated.
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 8b834c526..b459dc3d1 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -7,6 +7,12 @@ parameters:
pkg-commit:
type: string
default: "master"
+ 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,46 @@ 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 built with weekly in package name
+ touch .is_weekly
+ # If version is "trunk", override version to add date
+ if grep 'AC_INIT.*trunk.*' ./configure.ac; then
+ sed -e "s/AC_INIT(\[\(.*\)\], \[\(.*\)\], \[\(.*\)\])/AC_INIT([\1], [$(date +%Y%m%d)], [\3])/" ./configure.ac
+ else
+ sed -e "s/AC_INIT(\[\(.*\)\], \[\(.*\)\], \[\(.*\)\])/AC_INIT([\1], [\2-$(date +%Y%m%d)], [\3])/" ./configure.ac
+ fi
+ ./autogen.des --quiet
+ make dist -j 16
- persist_to_workspace:
root: .
paths:
More information about the varnish-commit
mailing list