Files
clrsync/.github/workflows/Test packages.yml

102 lines
2.3 KiB
YAML

name: Test DEB and RPM Packages
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
test-deb:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y cmake build-essential git \
libglfw3-dev libfreetype6-dev libfontconfig1-dev \
libx11-dev libxrandr-dev libxi-dev \
mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev \
libxinerama-dev libxcursor-dev
- name: Configure CMake
run: |
cmake -B build -DCMAKE_BUILD_TYPE=Release
- name: Build
run: cmake --build build --config Release
- name: Package DEB
run: |
cd build
cpack -G DEB
- name: Install DEB
run: |
sudo dpkg -i build/*.deb || true
sudo apt-get install -f -y
- name: Test installation
run: |
clrsync_cli --help
dpkg -L $(dpkg -l | grep clrsync | awk '{print $2}')
- name: Upload DEB artifact
uses: actions/upload-artifact@v4
with:
name: deb-package
path: build/*.deb
test-rpm:
runs-on: ubuntu-latest
container:
image: fedora:latest
steps:
- name: Install dependencies
run: |
dnf install -y cmake gcc gcc-c++ make rpm-build git \
glfw-devel freetype-devel fontconfig-devel \
libX11-devel libXrandr-devel libXi-devel \
mesa-libGL-devel mesa-libGLU-devel \
libXinerama-devel libXcursor-devel
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Configure CMake
run: |
cmake -B build -DCMAKE_BUILD_TYPE=Release
- name: Build
run: cmake --build build --config Release
- name: Package RPM
run: |
cd build
cpack -G RPM
- name: Install RPM
run: |
dnf install -y build/*.rpm
- name: Test installation
run: |
clrsync_cli --help
rpm -ql $(rpm -qa | grep clrsync)
- name: Upload RPM artifact
uses: actions/upload-artifact@v4
with:
name: rpm-fedora
path: build/*.rpm