test: rewrite tests for realpath() shenanigans #312
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
# vi: ts=2 sw=2 et: | |
name: Build & test | |
on: | |
pull_request: | |
branches: | |
- main | |
push: | |
branches: | |
- main | |
permissions: | |
contents: read | |
jobs: | |
# glibc + systemd-logind | |
fedora: | |
runs-on: ubuntu-latest | |
container: | |
image: registry.fedoraproject.org/fedora:latest | |
options: "--privileged" | |
concurrency: | |
group: fedora-${{ github.workflow }}-${{ github.ref }}-${{ matrix.phase }} | |
cancel-in-progress: true | |
strategy: | |
fail-fast: false | |
matrix: | |
phase: [BUILD_GCC, GCC, GCC_ASAN_UBSAN, BUILD_CLANG, CLANG] | |
steps: | |
- name: Repository checkout | |
uses: actions/checkout@v4 | |
- name: Install build & test dependencies | |
run: | | |
dnf install -y dnf-plugins-core python3-dbusmock clang compiler-rt libasan libubsan | |
dnf builddep -y polkit | |
- name: Build & test | |
run: .github/workflows/ci.sh ${{ matrix.phase }} logind | |
# musl + elogind | |
alpine: | |
runs-on: ubuntu-latest | |
container: | |
image: alpine:latest | |
options: "--privileged" | |
concurrency: | |
group: alpine-${{ github.workflow }}-${{ github.ref }}-${{ matrix.phase }} | |
cancel-in-progress: true | |
strategy: | |
fail-fast: false | |
matrix: | |
# There's no libasan/libubsan on Alpine, hence the missing GCC_ASAN_UBSAN phase | |
# See: https://gitlab.alpinelinux.org/alpine/aports/-/issues/10304 | |
# Future FIXME: add clang + sanitizers to both jobs | |
phase: [BUILD_GCC, GCC, BUILD_CLANG, CLANG] | |
steps: | |
- name: Repository checkout | |
uses: actions/checkout@v4 | |
- name: Install build & test dependencies | |
run: | | |
apk update | |
apk add bash gcc g++ clang meson ninja-build pkgconf glib-dev duktape-dev elogind-dev dbus-dev \ | |
expat-dev linux-pam-dev gobject-introspection-dev perl py3-dbusmock gtk-doc | |
# Alpine's elogind package creates compatibility symlinks to act as a drop-in replacement for | |
# systemd/systemd-logind. Remove them to test build with _pure_ elogind installation | |
rm -f /usr/include/systemd /usr/lib/pkgconfig/libsystemd{,-logind}.pc | |
- name: Build & test | |
run: .github/workflows/ci.sh ${{ matrix.phase }} elogind |