Skip to content

ci: fix build workflow for modern GitHub Actions runners#120

Merged
ErikBjare merged 3 commits intoActivityWatch:masterfrom
TimeToBuildBob:bob/fix-ci
Feb 27, 2026
Merged

ci: fix build workflow for modern GitHub Actions runners#120
ErikBjare merged 3 commits intoActivityWatch:masterfrom
TimeToBuildBob:bob/fix-ci

Conversation

@TimeToBuildBob
Copy link
Copy Markdown
Contributor

@TimeToBuildBob TimeToBuildBob commented Feb 27, 2026

Summary

  • ubuntu-20.04 was removed from GitHub Actions, causing all CI jobs to be stuck in "queued" indefinitely
  • Updated to ubuntu-22.04, macos-latest, Python 3.11, and latest action versions
  • Replaced qt5-default (nonexistent on Ubuntu 22.04+) with Qt6 runtime dependencies

Fixes #118

Changes

Before After
ubuntu-20.04 ubuntu-22.04
macOS-13 macos-latest
Python 3.9 (EOL) Python 3.11
actions/checkout@v3 @v4
actions/setup-python@v4 @v5
qt5-default libxcb-cursor0 libfontconfig1 libegl1

Test plan

  • CI should now run instead of hanging in "queued"
  • All three platforms (Linux, Windows, macOS) should build
  • Integration tests on Linux should pass with xvfb

Important

Update CI workflow to use ubuntu-22.04, macos-latest, Python 3.11, and latest GitHub Actions versions, replacing deprecated dependencies.

  • CI Environment:
    • Update ubuntu-20.04 to ubuntu-22.04 and macOS-13 to macos-latest in build.yml.
    • Update Python version from 3.9 to 3.11.
    • Update actions/checkout to v4 and actions/setup-python to v5.
  • Dependencies:
    • Replace qt5-default with libxcb-cursor0, libfontconfig1, and libegl1 for Qt6 compatibility on Linux.
  • Behavior:
    • Fixes CI jobs hanging in "queued" state by updating to supported environments.

This description was created by Ellipsis for e5e89bc. You can customize this summary. It will automatically update as commits are pushed.

- ubuntu-20.04 removed from GitHub Actions (all jobs stuck in queued)
  → use ubuntu-22.04
- macOS-13 → macos-latest (includes Apple Silicon)
- Python 3.9 (EOL) → 3.11
- actions/checkout v3 → v4, actions/setup-python v4 → v5
- Replace qt5-default (nonexistent on Ubuntu 22.04+) with Qt6
  runtime deps (libxcb-cursor0, libfontconfig1, libegl1)
- Add apt-get update before install

Fixes ActivityWatch#118
@TimeToBuildBob TimeToBuildBob mentioned this pull request Feb 27, 2026
Copy link
Copy Markdown

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important

Looks good to me! 👍

Reviewed everything up to e5e89bc in 8 seconds. Click for details.
  • Reviewed 34 lines of code in 1 files
  • Skipped 0 files when reviewing.
  • Skipped posting 0 draft comments. View those below.
  • Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.

Workflow ID: wflow_tSs8aGSvsI6Fz5On

You can customize Ellipsis by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.

PyQt6 bundles its own Qt xcb platform plugin which links against
several xcb extension libraries. Just libxcb-cursor0 is not enough —
the full set of xcb dependencies is needed for the plugin to load.
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Feb 27, 2026

Greptile Summary

Updates CI workflow to use modern GitHub Actions runners and dependencies. Changes address the removal of ubuntu-20.04 from GitHub Actions (which caused jobs to hang in "queued") by upgrading to ubuntu-22.04, macos-latest, Python 3.11, and latest action versions. Correctly replaces the nonexistent qt5-default package with Qt6 runtime dependencies (libxcb-cursor0, libfontconfig1, libegl1) that match the project's PyQt6 6.5.3 dependency. All changes align with the project's Python version requirements (^3.8,<3.14) and are necessary for CI to function again.

Confidence Score: 4/5

  • Safe to merge after CI validates all platforms build successfully
  • All changes are necessary and correct: ubuntu-20.04 was removed from GitHub Actions, qt5-default doesn't exist on Ubuntu 22.04+, and Python 3.9 is EOL. The Qt6 runtime dependencies match the project's PyQt6 6.5.3 requirement. macOS runner change from macOS-13 to macos-latest should work given ARM64 support in dependencies, but needs CI validation.
  • No files require special attention - verify CI passes on all three platforms

Important Files Changed

Filename Overview
.github/workflows/build.yml Updated CI runners and dependencies from deprecated versions (ubuntu-20.04, Python 3.9) to modern ones (ubuntu-22.04, Python 3.11), replaced qt5-default with Qt6 runtime libraries, and updated action versions to v4/v5.

Last reviewed commit: ca368b7

Copy link
Copy Markdown
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 file reviewed, no comments

Edit Code Review Agent Settings | Greptile

@ErikBjare ErikBjare merged commit 22cd8c6 into ActivityWatch:master Feb 27, 2026
3 checks passed
marcstober pushed a commit to marcstober/aw-qt that referenced this pull request Mar 18, 2026
…ch#120)

* ci: fix build workflow for modern GitHub Actions runners

- ubuntu-20.04 removed from GitHub Actions (all jobs stuck in queued)
  → use ubuntu-22.04
- macOS-13 → macos-latest (includes Apple Silicon)
- Python 3.9 (EOL) → 3.11
- actions/checkout v3 → v4, actions/setup-python v4 → v5
- Replace qt5-default (nonexistent on Ubuntu 22.04+) with Qt6
  runtime deps (libxcb-cursor0, libfontconfig1, libegl1)
- Add apt-get update before install

Fixes ActivityWatch#118

* ci: add missing xcb libraries for PyQt6 on Ubuntu

PyQt6 bundles its own Qt xcb platform plugin which links against
several xcb extension libraries. Just libxcb-cursor0 is not enough —
the full set of xcb dependencies is needed for the plugin to load.

---------

Co-authored-by: Erik Bjäreholt <erik@bjareho.lt>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fix CI

2 participants