This commit is contained in:
@@ -22,12 +22,7 @@ jobs:
|
||||
python-version: "3.13"
|
||||
|
||||
- name: Install Qt runtime libraries
|
||||
run: |
|
||||
if [ "$(id -u)" -eq 0 ]; then
|
||||
apt-get update && apt-get install -y libgl1 libegl1
|
||||
else
|
||||
sudo apt-get update && sudo apt-get install -y libgl1 libegl1
|
||||
fi
|
||||
run: bash scripts/install-qt-runtime-deps.sh
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
|
||||
@@ -71,13 +71,7 @@ jobs:
|
||||
- name: Install Qt runtime libraries
|
||||
if: steps.check_release.outputs.publish == 'true'
|
||||
shell: bash
|
||||
run: |
|
||||
set -euo pipefail
|
||||
if [ "$(id -u)" -eq 0 ]; then
|
||||
apt-get update && apt-get install -y libgl1 libegl1
|
||||
else
|
||||
sudo apt-get update && sudo apt-get install -y libgl1 libegl1
|
||||
fi
|
||||
run: bash scripts/install-qt-runtime-deps.sh
|
||||
|
||||
- name: Install test dependencies
|
||||
if: steps.check_release.outputs.publish == 'true'
|
||||
|
||||
@@ -68,13 +68,7 @@ jobs:
|
||||
- name: Install Qt runtime libraries
|
||||
if: steps.check_release.outputs.publish == 'true'
|
||||
shell: bash
|
||||
run: |
|
||||
set -euo pipefail
|
||||
if [ "$(id -u)" -eq 0 ]; then
|
||||
apt-get update && apt-get install -y libgl1 libegl1
|
||||
else
|
||||
sudo apt-get update && sudo apt-get install -y libgl1 libegl1
|
||||
fi
|
||||
run: bash scripts/install-qt-runtime-deps.sh
|
||||
|
||||
- name: Install test dependencies
|
||||
if: steps.check_release.outputs.publish == 'true'
|
||||
|
||||
@@ -8,6 +8,7 @@ Workflow `.gitea/workflows/release.yml` запускается вручную и
|
||||
- В Docker Compose сейчас есть `GITEA_RUNNER_LABELS: "ubuntu-latest,docker,self-hosted"`. Удалите эту переменную или задайте в ней ту же явную схему `ubuntu-latest:docker://...`: при запуске daemon значение переменной может переопределить `runner.labels`, а голая метка `ubuntu-latest` означает выполнение шагов внутри контейнера `gitea-runner`.
|
||||
- Ваше монтирование `/var/run/docker.sock:/var/run/docker.sock` в контейнер раннера оставьте. Job-контейнеру также нужен доступ к этому сокету через настройки `container.docker_host` (значение по умолчанию — автоопределение). Workflow при необходимости установит Docker CLI в job-контейнер.
|
||||
- Docker host должен быть x86_64 и иметь достаточно места. `actions/setup-python` устанавливает Python 3.13 в job-контейнер.
|
||||
- `scripts/install-qt-runtime-deps.sh` ставит системные runtime-библиотеки OpenGL, XCB и X11 для PySide6; список составлен по [требованиям Qt для Linux](https://doc.qt.io/qt-6/linux-requirements.html).
|
||||
- В секретах репозитория нужен `API_TOKEN` с правами записи тегов и релизов. Checkout также должен иметь право отправить git tag в `origin`.
|
||||
- Первый запуск скачает образы `batonogov/pyinstaller-windows:latest` и `amake/innosetup:innosetup6` и установит зависимости Python внутри контейнера Wine. Для образов и артефактов потребуется несколько гигабайт свободного места. Сборка передаёт файлы через `docker cp`, поэтому пути внутри job-контейнера и Docker host могут различаться.
|
||||
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# Runtime libraries used by PySide6/QtGui on Ubuntu, including XCB and OpenGL.
|
||||
qt_runtime_packages=(
|
||||
libgl1 libegl1 libxkbcommon0 libxkbcommon-x11-0
|
||||
libxcb-cursor0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1
|
||||
libxcb-randr0 libxcb-render-util0 libxcb-shape0 libxcb-shm0
|
||||
libxcb-sync1 libxcb-xfixes0 libxcb-xkb1 libxcb-xinerama0
|
||||
libxcb-util1 libxcb-glx0
|
||||
libx11-6 libx11-xcb1 libxext6 libxrender1 libsm6 libice6 libxi6
|
||||
libfontconfig1 libfreetype6 libglib2.0-0
|
||||
)
|
||||
|
||||
if [ "$(id -u)" -eq 0 ]; then
|
||||
apt-get update
|
||||
apt-get install -y --no-install-recommends "${qt_runtime_packages[@]}"
|
||||
else
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y --no-install-recommends "${qt_runtime_packages[@]}"
|
||||
fi
|
||||
Reference in New Issue
Block a user