Skip to content

Commit 12cd82d

Browse files
committed
overhaul
1 parent 8af9b44 commit 12cd82d

78 files changed

Lines changed: 424 additions & 779 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/packages.yml

Lines changed: 67 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
matrix:
1616
arch:
1717
- ""
18-
- "-arm"
18+
# - "-arm"
1919
target:
2020
- debian-bullseye-deb
2121
- debian-bookworm-deb
@@ -30,39 +30,25 @@ jobs:
3030
steps:
3131
- name: Checkout Code
3232
uses: actions/checkout@v5
33-
with:
34-
submodules: true
35-
36-
- name: Download Varnish
37-
run: |
38-
source pkg.env
39-
curl -LO https://varnish-cache.org/downloads/varnish-${varnish_version}.tgz
4033

4134
- name: Build Varnish packages
4235
run: |
43-
( cd varnish-cache/; tar cvzf ../debian.tar.gz debian --dereference ; )
44-
( cd varnish-cache/; tar cvzf ../redhat.tar.gz redhat --dereference ; )
45-
46-
mkdir -p packages
47-
48-
if [ -z "${{ matrix.arch }}" ]; then
49-
PARAM_ARCH=x86_64
50-
else
51-
PARAM_ARCH=aarch64
52-
fi
5336
PARAM_DIST=`echo ${{ matrix.target}} | cut -d- -f 1`
5437
PARAM_RELEASE=`echo ${{ matrix.target }} | cut -d- -f 2`
5538
EXT=`echo ${{ matrix.target }} | cut -d- -f 3`
5639
40+
cp pkg.env varnish/
41+
5742
docker run \
5843
--rm \
5944
--security-opt seccomp=unconfined \
60-
-e PDIR=packages/$PARAM_DIST/$PARAM_RELEASE/$PARAM_ARCH \
61-
-v $(pwd):/varnish-cache \
45+
--workdir /workdir/varnish \
46+
-v$(pwd):/workdir \
47+
-e PDIR=/workdir/packages/ \
6248
$PARAM_DIST:$PARAM_RELEASE \
63-
/varnish-cache/build_scripts/make-$EXT-packages.sh
49+
/workdir/build_scripts/make-$EXT-packages.sh
6450
65-
ls packages/*/*/
51+
tree packages
6652
6753
- name: Upload artifacts
6854
uses: actions/upload-artifact@v4
@@ -79,7 +65,7 @@ jobs:
7965
matrix:
8066
arch:
8167
- ""
82-
- "-arm"
68+
# - "-arm"
8369
target:
8470
- debian-bullseye-deb
8571
- debian-bookworm-deb
@@ -125,29 +111,22 @@ jobs:
125111
run: |
126112
tree $(pwd)/packages
127113
PACKAGE=${{ matrix.package }}
128-
if [ -z "${{ matrix.arch }}" ]; then
129-
PARAM_ARCH=x86_64
130-
else
131-
PARAM_ARCH=aarch64
132-
fi
133114
PARAM_DIST=`echo ${{ matrix.target}} | cut -d- -f 1`
134115
PARAM_RELEASE=`echo ${{ matrix.target }} | cut -d- -f 2`
135116
EXT=`echo ${{ matrix.target }} | cut -d- -f 3`
136117
137118
cp pkg.env $PACKAGE/
138119
139-
PDIR=new_packages/$PARAM_DIST/$PARAM_RELEASE/$PARAM_ARCH
140-
mkdir -p $PDIR
141-
142120
docker run \
143121
--rm \
144-
-e PDIR=/$PDIR \
122+
-e PDIR=/new_packages/ \
145123
--workdir /workdir/$PACKAGE \
146124
-v$(pwd):/workdir \
147125
-v$(pwd)/packages:/deps \
148126
-v$(pwd)/new_packages:/new_packages \
149127
$PARAM_DIST:$PARAM_RELEASE \
150-
/workdir/build_scripts/make-$EXT-packages-vmod.sh
128+
/workdir/build_scripts/make-$EXT-packages.sh
129+
151130
tree new_packages
152131
153132
- name: Upload artifacts
@@ -212,3 +191,58 @@ jobs:
212191
with:
213192
name: signed-packages
214193
path: all-packages/
194+
195+
test_all_packages:
196+
name: Load all packages
197+
needs: collect_all_packages
198+
runs-on: ubuntu-latest
199+
strategy:
200+
fail-fast: false
201+
matrix:
202+
arch:
203+
- ""
204+
# - "-arm"
205+
target:
206+
- debian-bullseye-deb
207+
- debian-bookworm-deb
208+
- debian-trixie-deb
209+
- ubuntu-jammy-deb
210+
- ubuntu-noble-deb
211+
- ubuntu-plucky-deb
212+
- almalinux-8-rpm
213+
- almalinux-9-rpm
214+
- almalinux-10-rpm
215+
- amazonlinux-2023-rpm
216+
steps:
217+
- name: Checkout Code
218+
uses: actions/checkout@v5
219+
220+
- name: Download all artifacts
221+
uses: actions/download-artifact@v4
222+
with:
223+
name: signed-packages
224+
225+
- name: Run varnishtest
226+
run: |
227+
set -x
228+
229+
pwd
230+
tree
231+
PARAM_DIST=`echo ${{ matrix.target}} | cut -d- -f 1`
232+
PARAM_RELEASE=`echo ${{ matrix.target }} | cut -d- -f 2`
233+
234+
if [ -z "${{ matrix.arch }}" ]; then
235+
PKG_DIR=$(pwd)/$PARAM_DIST/$PARAM_RELEASE/amd64
236+
else
237+
PKG_DIR=$(pwd)/$PARAM_DIST/$PARAM_RELEASE/arm64
238+
fi
239+
240+
ls $(pwd)/build_scripts/test-packages.sh
241+
ls $PKG_DIR
242+
docker run \
243+
--rm \
244+
-w /workdir \
245+
-v $PKG_DIR:/workdir \
246+
-v $(pwd)/build_scripts/test-packages.sh:/test-packages.sh \
247+
$PARAM_DIST:$PARAM_RELEASE \
248+
/test-packages.sh

build_scripts/make-deb-packages-vmod.sh

Lines changed: 0 additions & 49 deletions
This file was deleted.

build_scripts/make-deb-packages.sh

Lines changed: 58 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,50 +2,77 @@
22

33
set -eux
44

5+
source /etc/os-release
6+
source ./pkg.env
7+
58
export DEBIAN_FRONTEND=noninteractive
69
export DEBCONF_NONINTERACTIVE_SEEN=true
7-
apt-get update
8-
apt-get install -y dpkg-dev debhelper devscripts equivs pkg-config apt-utils fakeroot
9-
10-
# Ubuntu 20.04 aarch64 fails when using fakeroot-sysv with:
11-
# semop(1): encountered an error: Function not implemented
12-
update-alternatives --set fakeroot /usr/bin/fakeroot-tcp
1310

14-
cd /varnish-cache
15-
ls -la
11+
PKG_NAME=$(basename $(pwd))
12+
DEB_ORIG=${VARS[${PKG_NAME}_version]}.orig.tar.gz
13+
if [ "`uname -m`" = "x86_64" ]; then
14+
ARCH="amd64"
15+
else
16+
ARCH="arm64"
17+
fi
18+
PDIR="$PDIR/$ID/${VERSION_ID%.*}/${ARCH}"
1619

17-
echo "Untar debian..."
18-
tar xavf debian.tar.gz
20+
apt-get update
21+
apt-get install -y \
22+
apt-utils \
23+
debhelper \
24+
devscripts \
25+
dpkg-dev \
26+
equivs \
27+
fakeroot \
28+
pkg-config \
29+
python*-docutils \
30+
$(test -d /deps && find /deps/ -name '*.deb')
31+
# Create build folder and copy debian folder there
32+
mkdir -p ./pkgbuild
33+
cd pkgbuild
1934

20-
echo "Untar orig..."
21-
tar xavf varnish-*.tgz --strip 1
35+
# Save the tarball source file one level up
36+
curl -L "${VARS[${PKG_NAME}_source]}" -o ../$DEB_ORIG
37+
tar xvfz ../$DEB_ORIG --strip 1
2238

23-
echo "Update changelog version..."
24-
if [ -e .is_weekly ]; then
25-
WEEKLY='-weekly'
39+
# Update changelog version
40+
if [ "$PKG_NAME" == "varnish" ]; then
41+
if [ -e .is_weekly ]; then
42+
WEEKLY='-weekly'
43+
else
44+
WEEKLY=
45+
fi
46+
VERSION=$(./configure --version | awk 'NR == 1 {print $NF}')$WEEKLY-${package_release}
47+
./configure --version
2648
else
27-
WEEKLY=
49+
VERSION="$(dpkg -l varnish | awk '$2 == "varnish" {print $3}')"
50+
dpkg -l varnish
2851
fi
29-
source /etc/os-release
30-
source ./pkg.env
31-
VERSION=$(./configure --version | awk 'NR == 1 {print $NF}')$WEEKLY-${package_release}~$VERSION_CODENAME
32-
sed -i -e "s|@VERSION@|$VERSION|" "debian/changelog"
3352

34-
echo "Install Build-Depends packages..."
53+
# remove potential debian/ package included in the tarball
54+
rm -rf debian
55+
cat << EOF > ../debian/changelog
56+
${PKG_NAME} (${VERSION}) unstable; urgency=low
57+
58+
* Changelog not maintained, please see
59+
https://github.com/varnish/all-packager/releases/tag/v${VERSION%~*}
60+
61+
-- Varnish Software <opensource@varnish-software.com>
62+
EOF
63+
ls -halt ../debian
64+
cp -Lrf ../debian .
65+
66+
cat debian/changelog
67+
# Install Build-Depends packages
3568
yes | mk-build-deps --install debian/control || true
3669

37-
echo "Build the packages..."
70+
# Build the packages
3871
dpkg-buildpackage -us -uc -j16
3972

40-
echo "Prepare the packages for storage..."
41-
mkdir -p $PDIR
42-
mv ../*.deb $PDIR
43-
44-
if [ "`uname -m`" = "x86_64" ]; then
45-
ARCH="amd64"
46-
else
47-
ARCH="arm64"
48-
fi
73+
# Prepare the packages for storage
74+
mkdir -p "$PDIR"
75+
mv ../*.deb "$PDIR"
4976

5077
DSC_FILE=$(ls ../*.dsc)
5178
DSC_FILE_WO_EXT=$(basename ${DSC_FILE%.*})

build_scripts/make-rpm-packages-vmod.sh

Lines changed: 0 additions & 24 deletions
This file was deleted.

0 commit comments

Comments
 (0)