Skip to content

matrix strategy

matrix strategy #42

Workflow file for this run

name: Package all the things

Check failure on line 1 in .github/workflows/packages.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/packages.yml

Invalid workflow file

(Line: 55, Col: 14): Unexpected symbol: '|'. Located at position 15 within expression: matrix.target | cut -d: -f 1, (Line: 110, Col: 14): Unexpected symbol: '|'. Located at position 15 within expression: matrix.target | cut -d: -f 1
on:
push:
branches:
- '**'
jobs:
build_varnish:
name: Building Varnish (${{ matrix.dist }}:${{ matrix.release }} for ${{ matrix.arch }})
runs-on: ubuntu-latest
strategy: &strategy
fail-fast: false
matrix:
arch:
- amd64
# - arm64
target:
- debian:trixie:deb
- almalinux:10:rpm
# - dist: debian
# release: bullseye
# pkg: deb
# - dist: debian
# release: bookworm
# pkg: deb
# - dist: ubuntu
# release: jammy
# pkg: deb
# - dist: ubuntu
# release: noble
# pkg: deb
#
# - dist: almalinux
# release: 8
# pkg: rpm
# - dist: almalinux
# release: 9
# pkg: rpm
#
# - dist: amazonlinux
# release: 2023
# pkg: rpm
steps:
- name: Checkout Code
uses: actions/checkout@v5
with:
submodules: true
- name: Download Varnish
run: |
curl -L https://varnish-cache.org/downloads/varnish-8.0.0.tgz -o varnish-8.0.0.tar.gz
- name:
run: |
( cd varnish-cache/; tar cvzf ../debian.tar.gz debian --dereference ; )
( cd varnish-cache/; tar cvzf ../redhat.tar.gz redhat --dereference ; )
mkdir -p packages
PARAM_ARCH={{ matrix.arch }}
PARAM_DIST=`${{ matrix.target | cut -d: -f 1 }}`
PARAM_RELEASE=`${{ matrix.target | cut -d: -f 2 }}`
EXT=`${{ matrix.target | cut -d: -f 3 }}`
docker run \
--rm \
--security-opt seccomp=unconfined \
-e PARAM_ARCH=$PARAM_ARCH \
-e PARAM_DIST=$PARAM_DIST \
-e PARAM_RELEASE=$PARAM_RELEASE \
-v $(pwd):/varnish-cache \
$PARAM_DIST:$PARAM_RELEASE \
/varnish-cache/make-$EXT-packages.sh
ls packages/*/*/
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: varnish-${{ matrix.dist }}-${{ matrix.release }}
path: packages/*/*/*
build_vmod:
needs: build_varnish
runs-on: ubuntu-latest
name: Building varnish-modules (${{ matrix.dist }}:${{ matrix.release }} for ${{ matrix.arch }})
strategy: &strategy
fail-fast: false
matrix:
arch:
- amd64
# - arm64
target:
- debian:trixie:deb
- almalinux:10:rpm
package:
- varnish-modules
- vmod-uuid
steps:
- name: Checkout Code
uses: actions/checkout@v5
with:
submodules: true
- name: Download a specific artifact
uses: actions/download-artifact@v4
with:
name: varnish-${{ matrix.dist }}-${{ matrix.release }}
path: packages
- name: Build
run: |
PARAM_ARCH={{ matrix.arch }}
PARAM_DIST=`${{ matrix.target | cut -d: -f 1 }}`
PARAM_RELEASE=`${{ matrix.target | cut -d: -f 2 }}`
EXT=`${{ matrix.target | cut -d: -f 3 }}`
( cd $PACKAGE/; tar cvzf ../debian.tar.gz debian --dereference ; )
( cd $PACKAGE/; tar cvzf ../redhat.tar.gz redhat --dereference ; )
docker run \
--rm \
-e PARAM_ARCH=$PARAM_ARCH \
-e PARAM_DIST=$PARAM_DIST\
-e PARAM_RELEASE=$PARAM_RELEASE \
--workdir /workdir/$PACKAGE \
-v$(pwd):/workdir \
-v$(pwd)/packages:/deps \
-v$(pwd)/new_packages:/packages \
$PARAM_DIST:$PARAM_RELEASE \
/workdir/.circleci/make-$EXT-packages-vmod.sh