Skip to content

Commit

Permalink
zabbly: Add build workflow
Browse files Browse the repository at this point in the history
Signed-off-by: Stéphane Graber <[email protected]>
  • Loading branch information
stgraber committed Jan 30, 2024
1 parent adf61be commit c85e899
Showing 1 changed file with 111 additions and 0 deletions.
111 changes: 111 additions & 0 deletions .github/workflows/builds.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
name: Builds
on:
- push

permissions:
contents: read

concurrency:
group: ${{ github.ref }}
cancel-in-progress: true

jobs:
build-kernel:
name: Build kernel
strategy:
fail-fast: false
matrix:
os:
- ubuntu-20.04
- ubuntu-22.04
- debian-11
- debian-12
arch:
- amd64
exclude:
- os: debian-11
arch: arm64
runs-on:
- self-hosted
- cpu-16
- mem-8G
- arch-${{ matrix.arch }}
- image-${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Install dependencies
run: |
sudo apt-get install --yes \
bc \
binutils \
bison \
cpio \
debhelper \
dpkg-dev \
flex \
git \
kmod \
libelf-dev \
libssl-dev \
rsync \
zstd
sudo apt-get install --yes pahole || true
- name: Configure git
run: |
git config user.email "[email protected]"
git config user.name "Zabbly kernel build"
- name: Generate version string
env:
PKGARCH: "${{ matrix.arch }}"
PKGOS: "${{ matrix.os }}"
run: |
VERSION="$(make kernelversion)-${PKGARCH}-$(date -u +%Y%m%d%H%M)-$(echo ${PKGOS} | sed "s/-//g")"
echo "${VERSION}"
echo "${VERSION}" > ../.version
- name: Update the configuration
run: |
export KDEB_PKGVERSION="$(cat ../.version)"
make oldconfig
git diff .config > ../linux-${KDEB_PKGVERSION}.config.diff
git commit --allow-empty -m "TEMP: Refresh kernel configuration" .config
- name: Prepare for the build
run: |
mv .config .config.new
git commit -m "TEMP: Remove config from index" .config
mv .config.new .config
- name: Build the kernel
env:
DEBEMAIL: "[email protected]"
DEBFULLNAME: "Zabbly Kernel Builds"
KDEB_CHANGELOG_DIST: "${{ matrix.os }}"
KDEB_COMPRESS: "zstd"
PKGOS: "${{ matrix.os }}"
run: |
[ "${PKGOS}" = "debian-11" ] && export KDEB_COMPRESS="gzip"
export KDEB_PKGVERSION="$(cat ../.version)"
export KDEB_SOURCENAME="linux-zabbly-${KDEB_PKGVERSION}"
make deb-pkg -j16 || make deb-pkg -j16
- name: Prepare the artifacts
run: |
mkdir out/
mv ../linux-* out/
rm -f out/*dbg*
- name: Upload resulting build
uses: actions/upload-artifact@v3
continue-on-error: true
with:
name: ${{ matrix.os }}-${{ matrix.arch }}
path: out/*

0 comments on commit c85e899

Please sign in to comment.