forked from openzfs/zfs
-
-
Notifications
You must be signed in to change notification settings - Fork 0
96 lines (84 loc) · 2.33 KB
/
builds.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
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/*