Skip to content

notification: Implement version2 of the interface #634

notification: Implement version2 of the interface

notification: Implement version2 of the interface #634

Workflow file for this run

name: libportal CI
env:
DEBIAN_FRONTEND: noninteractive
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
ubuntu:
name: Ubuntu
runs-on: ubuntu-latest
container: ubuntu:${{ matrix.ubuntu-version }}
strategy:
matrix:
ubuntu-version: ['22.04', '24.04']
compiler: ['gcc', 'clang']
env:
CC: ${{ matrix.compiler }}
steps:
- name: Install dependencies
run: |
echo "$HOME/.local/bin" >> $GITHUB_PATH
apt-get update --quiet
apt-get install --quiet -y \
${{ matrix.compiler }} \
dbus \
gettext \
git \
gi-docgen \
libgirepository1.0-dev \
libglib2.0 \
libgtk-3-dev \
libgtk-4-dev \
libqt5x11extras5-dev \
meson \
python3-dbusmock \
python3-pytest \
qtbase5-dev \
qt6-base-dev \
qt6-base-private-dev \
valac
- name: Check out libportal
uses: actions/checkout@v4
- name: Fix Git ownership
run: |
echo $GITHUB_WORKSPACE
git config --global --add safe.directory $GITHUB_WORKSPACE
git status
- name: Configure libportal
run: meson setup --prefix=/usr _build -Dbackend-gtk3=enabled -Dbackend-gtk4=enabled -Dbackend-qt5=enabled -Dbackend-qt6=enabled
- name: Build libportal
run: ninja -C_build
- name: Run libportal tests
working-directory: _build
run: meson test --verbose --print-errorlogs
- name: Generate dist tarball
working-directory: _build
run: meson dist
- name: Upload test logs
uses: actions/upload-artifact@v4
if: success() || failure()
with:
name: test logs (ubuntu ${{ matrix.ubuntu-version }} ${{ matrix.compiler }})
path: |
tests/*.log
test-*.log
installed-test-logs/
_build/meson-logs/testlog.txt
_build/meson-dist/
fedora:
name: Fedora
runs-on: ubuntu-latest
container: fedora:${{ matrix.fedora-version }}
strategy:
matrix:
fedora-version: ['39', '40']
compiler: ['gcc', 'clang']
env:
CC: ${{ matrix.compiler }}
steps:
- name: Install dependencies
run: |
dnf install --quiet -y \
${{ matrix.compiler }} \
git \
gi-docgen \
gobject-introspection-devel \
gtk3-devel \
gtk4-devel \
meson \
python3-pytest \
python3-dbusmock \
qt5-qtbase-devel \
qt5-qtx11extras-devel \
qt6-qtbase-devel \
qt6-qtbase-private-devel \
vala
- name: Check out libportal
uses: actions/checkout@v4
- name: Fix Git ownership
run: |
echo $GITHUB_WORKSPACE
git config --global --add safe.directory $GITHUB_WORKSPACE
git status
- name: Configure libportal
run: meson setup --prefix=/usr _build -Dbackend-gtk3=enabled -Dbackend-gtk4=enabled -Dbackend-qt5=enabled -Dbackend-qt6=enabled
- name: Build libportal
run: ninja -C_build
- name: Run libportal tests
working-directory: _build
run: meson test --verbose --print-errorlogs
- name: Generate dist tarball
working-directory: _build
run: meson dist
- name: Upload test logs
uses: actions/upload-artifact@v4
if: success() || failure()
with:
name: test logs (fedora ${{ matrix.fedora-version }} ${{ matrix.compiler }})
path: |
tests/*.log
test-*.log
installed-test-logs/
_build/meson-logs/testlog.txt
_build/meson-dist/
abi-check:
name: ABI check
runs-on: ubuntu-latest
container: fedora:latest
env:
LAST_ABI_BREAK: "467a397fd7996557f837cdc26ac07c01c62810e5"
steps:
- name: Install dependencies
run: |
dnf install -y meson gcc gobject-introspection-devel gtk3-devel gtk4-devel qt5-qtbase-devel qt5-qtx11extras-devel qt6-qtbase-devel qt6-qtbase-private-devel git libabigail
- name: Install check-abi
run: |
curl https://gitlab.freedesktop.org/hadess/check-abi/-/raw/main/contrib/check-abi-fedora.sh | bash
rm -rf check-abi/
- name: Check out libportal
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Work around git safe directory check
run: git config --global --add safe.directory $GITHUB_WORKSPACE
- name: Run ABI check
run: check-abi --old-parameters="-Dvapi=false -Ddocs=false -Dintrospection=false" --new-parameters="-Dvapi=false -Ddocs=false -Dtests=false -Dintrospection=false" ${LAST_ABI_BREAK} $GITHUB_SHA