@@ -14,13 +14,14 @@ permissions:
1414 contents : read
1515
1616jobs :
17- build :
17+ # glibc + systemd-logind
18+ fedora :
1819 runs-on : ubuntu-latest
1920 container :
2021 image : registry.fedoraproject.org/fedora:latest
2122 options : " --privileged"
2223 concurrency :
23- group : ${{ github.workflow }}-${{ github.ref }}-${{ matrix.phase }}
24+ group : fedora- ${{ github.workflow }}-${{ github.ref }}-${{ matrix.phase }}
2425 cancel-in-progress : true
2526 strategy :
2627 fail-fast : false
3637 dnf builddep -y polkit
3738
3839 - name : Build & test
39- run : .github/workflows/ci.sh ${{ matrix.phase }}
40+ run : .github/workflows/ci.sh ${{ matrix.phase }} logind
41+
42+ # musl + elogind
43+ alpine :
44+ runs-on : ubuntu-latest
45+ container :
46+ image : alpine:latest
47+ options : " --privileged"
48+ concurrency :
49+ group : alpine-${{ github.workflow }}-${{ github.ref }}-${{ matrix.phase }}
50+ cancel-in-progress : true
51+ strategy :
52+ fail-fast : false
53+ matrix :
54+ # There's no libasan/libubsan on Alpine, hence the missing GCC_ASAN_UBSAN phase
55+ # See: https://gitlab.alpinelinux.org/alpine/aports/-/issues/10304
56+ # Future FIXME: add clang + sanitizers to both jobs
57+ phase : [BUILD_GCC, GCC, BUILD_CLANG, CLANG]
58+ steps :
59+ - name : Repository checkout
60+ uses : actions/checkout@v4
61+
62+ - name : Install build & test dependencies
63+ run : |
64+ apk update
65+ apk add bash gcc g++ clang meson ninja-build pkgconf glib-dev duktape-dev elogind-dev dbus-dev \
66+ expat-dev linux-pam-dev gobject-introspection-dev perl py3-dbusmock gtk-doc
67+ # Alpine's elogind package creates compatibility symlinks to act as a drop-in replacement for
68+ # systemd/systemd-logind. Remove them to test build with _pure_ elogind installation
69+ rm -f /usr/include/systemd /usr/lib/pkgconfig/libsystemd{,-logind}.pc
70+
71+ - name : Build & test
72+ run : .github/workflows/ci.sh ${{ matrix.phase }} elogind
0 commit comments