Skip to content

Commit a8ba846

Browse files
committed
ci: install Qt binding in compile-translations job
1 parent 90bb813 commit a8ba846

1 file changed

Lines changed: 18 additions & 3 deletions

File tree

.github/workflows/_build.yml

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,9 @@ jobs:
110110
compile-translations:
111111
needs: preflight
112112
runs-on: ubuntu-latest
113+
env:
114+
DISPLAY: ":99.0"
115+
QT_QPA_PLATFORM: offscreen
113116
steps:
114117
- uses: actions/checkout@v4
115118
with:
@@ -121,11 +124,23 @@ jobs:
121124
python-version: ${{ inputs.python-version }}
122125
cache: pip
123126

124-
- name: Install minimal Python dependencies (sphinx + guidata)
127+
# `sphinx -b gettext` parses doc/conf.py which transitively imports
128+
# `datalab.*` -> `qtpy`. Without a Qt binding installed `qtpy` raises
129+
# `QtBindingsNotFoundError` and the build aborts. Installing PyQt5
130+
# (no graphical session required thanks to QT_QPA_PLATFORM=offscreen)
131+
# is enough to let imports succeed.
132+
- name: Install system dependencies (Qt offscreen)
133+
run: |
134+
sudo apt-get update
135+
sudo apt-get install -y --no-install-recommends \
136+
libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 \
137+
libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0
138+
139+
- name: Install Python dependencies
125140
run: |
126141
python -m pip install --upgrade pip
127-
python -m pip install --upgrade guidata
128-
python -m pip install .[doc]
142+
python -m pip install --upgrade PythonQwt guidata PlotPy Sigima
143+
python -m pip install .[doc,qt]
129144
130145
- name: Compile docs gettext + sphinx_intl + UI .mo
131146
run: |

0 commit comments

Comments
 (0)