From 8f9b7a1ac24901ddd514c1aff55c4f0ba1493f94 Mon Sep 17 00:00:00 2001 From: Trevor Busk Date: Thu, 20 Nov 2025 14:53:11 -0500 Subject: [PATCH 01/16] patch: add missing commas to test --- tests/test_statusbar.vala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_statusbar.vala b/tests/test_statusbar.vala index 29ca5eb36..72826f1a9 100644 --- a/tests/test_statusbar.vala +++ b/tests/test_statusbar.vala @@ -17,8 +17,8 @@ private void test_statusbar () { swap_total = 1.0, network_up = 12, network_down = 23, - gpu_percentage = 20 - gpu_memory_percentage = 10 + gpu_percentage = 20, + gpu_memory_percentage = 10, gpu_temperature = 31.0 }; From f806e9f1c84da7ef75d16db7a98f93a024efd3b8 Mon Sep 17 00:00:00 2001 From: Trevor Busk Date: Thu, 20 Nov 2025 14:53:41 -0500 Subject: [PATCH 02/16] change: switch from gtk3 init to gtk4 init --- tests/runner.vala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/runner.vala b/tests/runner.vala index 55a0a8425..10b6c528f 100644 --- a/tests/runner.vala +++ b/tests/runner.vala @@ -1,7 +1,7 @@ void main (string[] args) { Test.init (ref args); - Gtk.init (ref args); + Gtk.init (); test_statusbar (); From 7496f32c1fb563cbb2ebfc0f660f3f65e2ec07c4 Mon Sep 17 00:00:00 2001 From: Trevor Busk Date: Thu, 20 Nov 2025 14:53:50 -0500 Subject: [PATCH 03/16] change: uncomment out meson subdir tests --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 61d79c276..e4ed5d641 100644 --- a/meson.build +++ b/meson.build @@ -76,4 +76,4 @@ gnome.post_install( ) subdir('po') -# subdir('tests') +subdir('tests') From 93667ef920d16d23fbee2f25e3f737ddcaeacd78 Mon Sep 17 00:00:00 2001 From: Trevor Busk Date: Thu, 20 Nov 2025 14:54:02 -0500 Subject: [PATCH 04/16] change: add test to suite for easier runnability --- tests/meson.build | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/meson.build b/tests/meson.build index adee7be37..018ae12e9 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -9,5 +9,6 @@ test( meson.source_root() / 'src/Utils.vala' ], project_config, - dependencies: app_dependencies) + dependencies: app_dependencies), + suite: 'monitor' ) \ No newline at end of file From 6959a2ccb3d15373bf9ac09f783293e401f53d78 Mon Sep 17 00:00:00 2001 From: Trevor Busk Date: Thu, 20 Nov 2025 14:54:15 -0500 Subject: [PATCH 05/16] feat: add new GH action for running tests --- .github/workflows/test.yml | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 000000000..54cec89bd --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,37 @@ +name: Test +on: + pull_request: + types: + - opened + - reopened + - synchronize + +jobs: + build: + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + version: [stable, unstable, development-target] + container: + image: ghcr.io/elementary/docker:${{ matrix.version }} + + steps: + - uses: actions/checkout@v4 + + - name: Install Dependencies + run: | + apt update + apt install -y libgala-dev libgee-0.8-dev libglib2.0-dev libgranite-dev libgtk-4-dev libadwaita-1-dev \ + libdbus-glib-1-dev libgtop2-dev libwingpanel-3.0-dev libudisks2-dev \ + libxnvctrl0 libxnvctrl-dev libcurl4-gnutls-dev libflatpak-dev libjson-glib-dev \ + liblivechart-2-dev libpci-dev \ + meson valac sassc git + - name: Build + run: | + meson setup -Dindicator-wingpanel=enabled build + meson compile -C build + + - name: Run tests + run: meson test -C build --suite monitor "*:" --print-errorlogs \ No newline at end of file From 1c268cf159f849f9ec68bba478ad7a8c8d7a1a4d Mon Sep 17 00:00:00 2001 From: Trevor Busk Date: Thu, 20 Nov 2025 15:05:08 -0500 Subject: [PATCH 06/16] change: add empty wrapper to test Seeing if this fixes the wrapping that live-chart adds --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 54cec89bd..7b1df3d7a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -34,4 +34,4 @@ jobs: meson compile -C build - name: Run tests - run: meson test -C build --suite monitor "*:" --print-errorlogs \ No newline at end of file + run: meson test -C build --suite monitor "*:" --print-errorlogs --wrapper= \ No newline at end of file From 6388ae08cb979fdee5221308b91ae0eeaf5b7252 Mon Sep 17 00:00:00 2001 From: Trevor Busk Date: Thu, 20 Nov 2025 15:15:19 -0500 Subject: [PATCH 07/16] change: add xvfb to run test, tweak suite name --- .github/workflows/test.yml | 7 +++++-- tests/meson.build | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7b1df3d7a..a3134649a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,11 +27,14 @@ jobs: libdbus-glib-1-dev libgtop2-dev libwingpanel-3.0-dev libudisks2-dev \ libxnvctrl0 libxnvctrl-dev libcurl4-gnutls-dev libflatpak-dev libjson-glib-dev \ liblivechart-2-dev libpci-dev \ - meson valac sassc git + meson valac sassc git \ + xvfb - name: Build run: | meson setup -Dindicator-wingpanel=enabled build meson compile -C build - name: Run tests - run: meson test -C build --suite monitor "*:" --print-errorlogs --wrapper= \ No newline at end of file + run: | + xvfb-run -a meson test -C build --suite monitor-gui-headless "*:" --print-errorlogs + # non-headless gui example: meson test -C build --suite monitor "*:" --print-errorlogs \ No newline at end of file diff --git a/tests/meson.build b/tests/meson.build index 018ae12e9..2ecbde14f 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -10,5 +10,5 @@ test( ], project_config, dependencies: app_dependencies), - suite: 'monitor' + suite: 'monitor-gui-headless' ) \ No newline at end of file From 65f0d6cc5e05c274ae66c6feff13be96f308d277 Mon Sep 17 00:00:00 2001 From: Trevor Busk Date: Thu, 20 Nov 2025 15:22:20 -0500 Subject: [PATCH 08/16] change: dbus dependency --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a3134649a..c5070bc3e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -28,7 +28,7 @@ jobs: libxnvctrl0 libxnvctrl-dev libcurl4-gnutls-dev libflatpak-dev libjson-glib-dev \ liblivechart-2-dev libpci-dev \ meson valac sassc git \ - xvfb + xvfb dbus-x11 - name: Build run: | meson setup -Dindicator-wingpanel=enabled build From d34fb30eb299090e8bb6b681451ac21126d41d09 Mon Sep 17 00:00:00 2001 From: Trevor Busk Date: Thu, 20 Nov 2025 15:25:32 -0500 Subject: [PATCH 09/16] change: specify gtk_a11y as test --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c5070bc3e..ac5f85699 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -35,6 +35,6 @@ jobs: meson compile -C build - name: Run tests - run: | - xvfb-run -a meson test -C build --suite monitor-gui-headless "*:" --print-errorlogs + run: | + GTK_A11Y=test; xvfb-run -a meson test -C build --suite monitor-gui-headless "*:" --print-errorlogs # non-headless gui example: meson test -C build --suite monitor "*:" --print-errorlogs \ No newline at end of file From 9ba798802058ab6a4ab553691da2062b059ba07d Mon Sep 17 00:00:00 2001 From: Trevor Busk Date: Thu, 20 Nov 2025 15:47:10 -0500 Subject: [PATCH 10/16] change: switch to using weston --- .github/workflows/test.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ac5f85699..ba074fc02 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -28,7 +28,7 @@ jobs: libxnvctrl0 libxnvctrl-dev libcurl4-gnutls-dev libflatpak-dev libjson-glib-dev \ liblivechart-2-dev libpci-dev \ meson valac sassc git \ - xvfb dbus-x11 + weston - name: Build run: | meson setup -Dindicator-wingpanel=enabled build @@ -36,5 +36,6 @@ jobs: - name: Run tests run: | - GTK_A11Y=test; xvfb-run -a meson test -C build --suite monitor-gui-headless "*:" --print-errorlogs + weston --backend=headless --socket=wayland-1 --display=wayland-1 + meson test -C build --suite monitor-gui-headless "*:" --print-errorlogs # non-headless gui example: meson test -C build --suite monitor "*:" --print-errorlogs \ No newline at end of file From abb6d0d3b5e4f070e3b247b4b8666d245fca9939 Mon Sep 17 00:00:00 2001 From: Trevor Busk Date: Thu, 20 Nov 2025 15:56:38 -0500 Subject: [PATCH 11/16] change: fix cdg runtime dir issue --- .github/workflows/test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ba074fc02..2f61cf207 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -36,6 +36,7 @@ jobs: - name: Run tests run: | + export XDG_RUNTIME_DIR="$(mktemp --tmpdir -d xdg-runtime-XXXXXX)" weston --backend=headless --socket=wayland-1 --display=wayland-1 meson test -C build --suite monitor-gui-headless "*:" --print-errorlogs # non-headless gui example: meson test -C build --suite monitor "*:" --print-errorlogs \ No newline at end of file From 5cbcd726c745b653fa211e2adef1d28d3576d0cc Mon Sep 17 00:00:00 2001 From: Trevor Busk Date: Thu, 20 Nov 2025 15:59:42 -0500 Subject: [PATCH 12/16] change: adjust env variable --- .github/workflows/test.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2f61cf207..1f1953baf 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -37,6 +37,7 @@ jobs: - name: Run tests run: | export XDG_RUNTIME_DIR="$(mktemp --tmpdir -d xdg-runtime-XXXXXX)" - weston --backend=headless --socket=wayland-1 --display=wayland-1 + weston --backend=headless --socket=wayland-1 + export WAYLAND_DISPLAY=wayland-1 meson test -C build --suite monitor-gui-headless "*:" --print-errorlogs # non-headless gui example: meson test -C build --suite monitor "*:" --print-errorlogs \ No newline at end of file From 9c1f7249ff63d86a2baef40b43356dacff0042b1 Mon Sep 17 00:00:00 2001 From: Trevor Busk Date: Thu, 20 Nov 2025 16:12:39 -0500 Subject: [PATCH 13/16] change: adjust weston config --- .github/workflows/test.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1f1953baf..8c4092231 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -37,7 +37,5 @@ jobs: - name: Run tests run: | export XDG_RUNTIME_DIR="$(mktemp --tmpdir -d xdg-runtime-XXXXXX)" - weston --backend=headless --socket=wayland-1 - export WAYLAND_DISPLAY=wayland-1 - meson test -C build --suite monitor-gui-headless "*:" --print-errorlogs + weston --backend=headless --socket=wayland-1 --idle-time=0 & dbus-run-session --env WAYLAND_DISPLAY=wayland-1 meson test --suite monitor-gui-headless "*:" --print-errorlogs # non-headless gui example: meson test -C build --suite monitor "*:" --print-errorlogs \ No newline at end of file From 5f57733c121e9d1fcb013a6d5234726b529d6965 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Corentin=20No=C3=ABl?= Date: Thu, 20 Nov 2025 22:18:45 +0100 Subject: [PATCH 14/16] Fix command syntax for running tests in CI --- .github/workflows/test.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8c4092231..51d0a43cf 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -37,5 +37,6 @@ jobs: - name: Run tests run: | export XDG_RUNTIME_DIR="$(mktemp --tmpdir -d xdg-runtime-XXXXXX)" - weston --backend=headless --socket=wayland-1 --idle-time=0 & dbus-run-session --env WAYLAND_DISPLAY=wayland-1 meson test --suite monitor-gui-headless "*:" --print-errorlogs - # non-headless gui example: meson test -C build --suite monitor "*:" --print-errorlogs \ No newline at end of file + weston --backend=headless --socket=wayland-1 --idle-time=0 & + dbus-run-session -- env WAYLAND_DISPLAY=wayland-1 meson test --suite monitor-gui-headless "*:" --print-errorlogs + # non-headless gui example: meson test -C build --suite monitor "*:" --print-errorlogs From 30b9700fd4f469cb3d2fc04eecd3ee81395244e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Corentin=20No=C3=ABl?= Date: Thu, 20 Nov 2025 22:21:15 +0100 Subject: [PATCH 15/16] Add missing test dir --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 51d0a43cf..0eb409597 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -38,5 +38,5 @@ jobs: run: | export XDG_RUNTIME_DIR="$(mktemp --tmpdir -d xdg-runtime-XXXXXX)" weston --backend=headless --socket=wayland-1 --idle-time=0 & - dbus-run-session -- env WAYLAND_DISPLAY=wayland-1 meson test --suite monitor-gui-headless "*:" --print-errorlogs + dbus-run-session -- env WAYLAND_DISPLAY=wayland-1 meson test -C build --suite monitor-gui-headless "*:" --print-errorlogs # non-headless gui example: meson test -C build --suite monitor "*:" --print-errorlogs From 4e65f9d34cb37ec9b91733187f0135d816eca808 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Corentin=20No=C3=ABl?= Date: Thu, 20 Nov 2025 22:28:17 +0100 Subject: [PATCH 16/16] Set environment variables for test workflow Added environment variable exports for test execution. --- .github/workflows/test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0eb409597..c0bb42e1f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -36,6 +36,8 @@ jobs: - name: Run tests run: | + export NO_AT_BRIDGE="1" + export GTK_A11Y="none" export XDG_RUNTIME_DIR="$(mktemp --tmpdir -d xdg-runtime-XXXXXX)" weston --backend=headless --socket=wayland-1 --idle-time=0 & dbus-run-session -- env WAYLAND_DISPLAY=wayland-1 meson test -C build --suite monitor-gui-headless "*:" --print-errorlogs