Skip to content

zabbly: Add GitHub logic #6

zabbly: Add GitHub logic

zabbly: Add GitHub logic #6

Workflow file for this run

name: Builds
on:
- push
permissions:
contents: read
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
jobs:
build-zfs:
name: Build ZFS
strategy:
fail-fast: false
matrix:
os:
- ubuntu-20.04
- ubuntu-22.04
- debian-11
- debian-12
arch:
- amd64
- arm64
runs-on:
- self-hosted
- cpu-4
- mem-4G
- arch-${{ matrix.arch }}
- image-${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install dependencies
run: |
sudo apt-get install --yes \
debhelper \
devscripts \
dh-autoreconf \
dh-python \
dkms \
dpkg-dev \
libaio-dev \
libblkid-dev \
libcurl4-openssl-dev \
libelf-dev \
libpam0g-dev \
libssl-dev \
libtool \
libudev-dev \
lsb-release \
po-debconf \
python3-all-dev \
python3-cffi \
python3-setuptools \
python3-sphinx \
uuid-dev \
zlib1g-dev
sudo apt-get install dh-dkms --yes || true
- name: Build ZFS
env:
PKGOS: ${{ matrix.os }}
PKGARCH: ${{ matrix.arch }}
run: |
[ "${PKGOS}" = "debian-11" ] && CODENAME=bullseye
[ "${PKGOS}" = "debian-12" ] && CODENAME=bookworm
[ "${PKGOS}" = "ubuntu-20.04" ] && CODENAME=focal
[ "${PKGOS}" = "ubuntu-22.04" ] && CODENAME=jammy
./autogen.sh
./configure
ZFSVERSION=$(cat META | grep ^Version: | awk '{print $2}')
ZFSRELEASE=$(cat META | grep ^Release: | awk '{print $2}')
cd contrib
dch -D ${CODENAME} -M -b -m "Automated ZFS build" -v ${ZFSVERSION}~${ZFSRELEASE}-${PKGARCH}-$(date -u +%Y%m%d%H%M)-$(echo ${PKGOS} | sed "s/-//g")
cd ..
make native-deb-utils
- name: Prepare the artifacts
run: |
mkdir out/
mv ../openzfs-* out/
- name: Upload resulting build
uses: actions/upload-artifact@v3
continue-on-error: true
with:
name: ${{ matrix.os }}-${{ matrix.arch }}
path: out/*