fix: backlight leds subsystem (#2848), sway/ipc reconnect (#3166), ethernet unplug regression (#4364) #4394
Workflow file for this run
This file contains hidden or 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
| name: linux | |
| on: [push, pull_request] | |
| concurrency: | |
| group: ${{ github.workflow }}-linux-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| distro: | |
| - alpine | |
| - archlinux | |
| - fedora | |
| - opensuse | |
| - gentoo | |
| # NOTE: debian is intentionally omitted here — it is covered by the | |
| # dedicated `build-full` job below, which uses the same Debian image | |
| # but force-enables *every* optional module (a strict superset). | |
| cpp_std: [c++20] | |
| runs-on: ubuntu-latest | |
| container: | |
| image: alexays/waybar:${{ matrix.distro }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: configure | |
| run: meson setup -Dman-pages=enabled -Dcpp_std=${{matrix.cpp_std}} build | |
| - name: build | |
| run: ninja -C build | |
| - name: test | |
| run: make test | |
| # Feature-complete build: force-enable *every* optional module so a broken | |
| # #include or regression in any module fails CI loudly, instead of being | |
| # silently skipped by an `auto` feature when its dependency is absent. | |
| # Runs on a Debian image with all optional dependencies installed inline | |
| # (including pipewire/gps/wwan, which no CI image otherwise ships). | |
| build-full: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: alexays/waybar:debian | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: install extra dependencies | |
| # Deps not present in the base image, required to build the modules | |
| # that are otherwise never compiled by CI. | |
| run: | | |
| apt-get update | |
| apt-get install --no-install-recommends --no-install-suggests -y \ | |
| libpipewire-0.3-dev \ | |
| libgps-dev \ | |
| libmm-glib-dev \ | |
| libevdev-dev \ | |
| libsystemd-dev \ | |
| systemd-dev \ | |
| libepoxy-dev \ | |
| libfftw3-dev | |
| - name: configure | |
| # Every feature forced to `enabled`/`true`: any missing dependency or | |
| # broken module is now a hard configure/build error, not a silent skip. | |
| run: | | |
| meson setup build \ | |
| -Dcpp_std=c++20 \ | |
| -Dexperimental=true \ | |
| -Dman-pages=enabled \ | |
| -Dlibcxx=false \ | |
| -Dlibinput=enabled \ | |
| -Dlibnl=enabled \ | |
| -Dlibudev=enabled \ | |
| -Dlibevdev=enabled \ | |
| -Dpulseaudio=enabled \ | |
| -Dupower_glib=enabled \ | |
| -Dpipewire=enabled \ | |
| -Dmpris=enabled \ | |
| -Dsystemd=enabled \ | |
| -Ddbusmenu-gtk=enabled \ | |
| -Dmpd=enabled \ | |
| -Drfkill=enabled \ | |
| -Dsndio=enabled \ | |
| -Dlogind=enabled \ | |
| -Dtests=enabled \ | |
| -Djack=enabled \ | |
| -Dwireplumber=enabled \ | |
| -Dcava=enabled \ | |
| -Dgps=enabled \ | |
| -Dwwan=enabled \ | |
| -Dniri=true \ | |
| -Dmango=true \ | |
| -Dlogin-proxy=true | |
| - name: build | |
| run: ninja -C build | |
| - name: test | |
| run: make test |