Skip to content

Update build-client-deb.yml #35

Update build-client-deb.yml

Update build-client-deb.yml #35

name: Build Bareos Client DEB
on:
push:
branches:
- main
jobs:
build-deb:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
include:
- distro: bookworm
image: debian:bookworm
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt update
sudo apt install -y build-essential cmake git \
libssl-dev zlib1g-dev libacl1-dev liblzo2-dev \
libjansson-dev bison flex \
libreadline-dev pkg-config fakeroot
- name: Clone Bareos
run: |
git clone https://github.com/bareos/bareos.git bareos-repo
- name: checkout release
working-directory: ./bareos-repo
run: |
git fetch --all
git checkout Release/24.0.4 # ex: Release/24.0.4
echo install\(FILES "build/debian/bareos-filedaemon.service" DESTINATION lib/systemd/system\) >>CMakeLists.txt
mkdir ./build
ls
- name: Extract version from tag
id: vars
run: echo "VERSION=${GITHUB_REF_NAME#Release/}" >> $GITHUB_ENV
- name: Build Bareos Client
working-directory: ./bareos-repo
run: |
cmake -S . -B build -Dclient-only=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCPACK_PACKAGE_CONTACT="contact@libertech.fr" \
-DCPACK_PACKAGE_VERSION="24.0.4" \
-DCPACK_DEBIAN_PACKAGE_MAINTAINER="contact@libertech.fr" \
-DCPACK_DEBIAN_PACKAGE_DEPENDS="libssl3, zlib1g, libacl1, liblzo2-2, libjansson4, libreadline8" \
-DCPACK_DEBIAN_PACKAGE_CONTROL_EXTRA="debian/preinst;debian/postinst"
cmake --build build -- -j$(nproc)
- name: Make DEB package
working-directory: ./bareos-repo/build
run: |
cp ./debian/bareos-filedaemon.preinst ./debian/preinst
cp ./debian/bareos-filedaemon.postinst ./debian/postinst
chmod +x ./debian/preinst ./debian/postinst
cpack -G DEB
- name: Upload DEB as artifact
uses: actions/upload-artifact@v4
with:
name: bareos-client-deb-{{ matrix.distro }}
path: bareos-repo/build/*.deb
- name: Attach DEB to GitHub Release
uses: softprops/action-gh-release@v1
with:
files: bareos-repo/build/*.deb