Skip to content

Merge pull request #36 from CESNET/bump-version #106

Merge pull request #36 from CESNET/bump-version

Merge pull request #36 from CESNET/bump-version #106

Workflow file for this run

name: Build RPM/DEB packages
on: [push, pull_request]
jobs:
deb:
# Try to build DEB packages
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
image: ['ubuntu:20.04', 'ubuntu:22.04', 'debian:buster', 'debian:bullseye', 'debian:bookworm']
name: Build DEBs on ${{ matrix.image }}
container: ${{ matrix.image }}
steps:
- uses: actions/checkout@v2
- name: Define variables
uses: actions/github-script@v5
with:
script: |
const sha = context.sha.substring(0, 8);
const image = `${{ matrix.image }}`
const distro = image.split('/').pop().replace(/:/g,'_');
const zip = `libfds-${distro}-${sha}`;
core.exportVariable('ZIP_FILE', zip);
# Dependencies ---------------------------------------------------------------------------
- name: Install dependencies (Ubuntu/Debian)
run: |
apt-get update
apt-get -y install git gcc g++ cmake make libxml2-dev liblz4-dev libzstd-dev
apt-get -y install debhelper pkg-config devscripts build-essential fakeroot zip
env:
DEBIAN_FRONTEND: noninteractive
# Build ----------------------------------------------------------------------------------
- name: Build DEB packages
run: |
mkdir build && cd build
cmake .. -DPACKAGE_BUILDER_DEB=On -DCPACK_PACKAGE_CONTACT="GitHub actions <no-reply@example.com>"
make deb
- name: Archive DEB packages
if: github.event_name == 'push'
uses: actions/upload-artifact@v2
with:
name: ${{ env.ZIP_FILE }}
path: |
build/pkg/deb/debbuild/*.deb
build/pkg/deb/debbuild/*.ddeb
build/pkg/deb/debbuild/*.tar.gz
build/pkg/deb/debbuild/*.dsc
rpm:
# Try to build RPM packages
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
image:
- 'rockylinux:8'
- 'oraclelinux:8'
- 'oraclelinux:9'
name: Build RPMs on ${{ matrix.image }}
container: ${{ matrix.image }}
steps:
- name: Define variables
uses: actions/github-script@v5
with:
script: |
const sha = context.sha.substring(0, 8);
const image = `${{ matrix.image }}`
const distro = image.split('/').pop().replace(/:/g,'_');
const zip = `libfds-${distro}-${sha}`;
core.exportVariable('ZIP_FILE', zip);
# Dependencies ---------------------------------------------------------------------------
- name: Enable EPEL (Rocky Linux)
if: contains(matrix.image, 'rockylinux')
run: |
yum -y install epel-release
- name: Enable EPEL (Oracle Linux 8)
if: contains(matrix.image, 'oraclelinux:8')
run: |
dnf -y install oracle-epel-release-el8
- name: Enable EPEL (Oracle Linux 9)
if: contains(matrix.image, 'oraclelinux:9')
run: |
dnf -y install oracle-epel-release-el9
- name: Install dependencies (Rocky Linux, Oracle Linux)
if: contains(matrix.image, 'rockylinux') || contains(matrix.image, 'oraclelinux')
run: |
yum -y install git gcc gcc-c++ cmake make libxml2-devel lz4-devel libzstd-devel rpm-build
# Checkout repository --------------------------------------------------------------------
- uses: actions/checkout@v2
# Build ----------------------------------------------------------------------------------
- name: Build RPM packages
run: |
mkdir build && cd build
cmake .. -DPACKAGE_BUILDER_RPM=On -DCPACK_PACKAGE_CONTACT="GitHub actions <no-reply@example.com>"
make rpm
- name: Archive RPM packages
if: github.event_name == 'push'
uses: actions/upload-artifact@v2
with:
name: ${{ env.ZIP_FILE }}
path: |
build/pkg/rpm/rpmbuild/RPMS/
build/pkg/rpm/rpmbuild/SRPMS/