Repository navigation
56 lines (54 loc) · 1.97 KB
/
Copy pathbuild.yml
File metadata and controls
56 lines (54 loc) · 1.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
name: build
on:
push:
branches: [main]
pull_request:
jobs:
build:
name: ${{ matrix.distro }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- distro: debian-13
image: debian:trixie
deps: >-
apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y
cmake build-essential qt6-base-dev qt6-declarative-dev qt6-shadertools-dev
libmpv-dev libpipewire-0.3-dev qml6-module-qtquick qml6-module-qtquick-window
qml6-module-qtquick3d qml6-module-qtqml-workerscript qml6-module-qtquick-shapes
qml6-module-qtquick-effects qml6-module-qt5compat-graphicaleffects
python3 python3-pil python3-zeroconf python3-ifaddr
- distro: fedora-41
image: fedora:41
deps: >-
dnf install -y cmake gcc-c++ qt6-qtbase-devel qt6-qtdeclarative-devel
qt6-qtshadertools-devel qt6-qtquick3d-devel qt6-qt5compat mpv-libs-devel
pipewire-devel python3 python3-pillow python3-zeroconf python3-ifaddr
container: ${{ matrix.image }}
steps:
- name: Dependencies
run: ${{ matrix.deps }}
- uses: actions/checkout@v4
- name: Build
run: |
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j"$(nproc)"
- name: Launch
# the first screen renders offscreen as a brand-new user
run: |
mkdir -p /tmp/home
HOME=/tmp/home QT_QPA_PLATFORM=offscreen CODEC_SHOT=/tmp/first.png CODEC_SHOT_DELAY=6000 \
timeout 60 ./build/codec || true
test -s /tmp/first.png
- name: Tests
run: |
for t in tests/test_*.py; do
python3 "$t" > /dev/null || { echo "FAILED: $t"; exit 1; }
done
- uses: actions/upload-artifact@v4
if: always()
with:
name: first-screen-${{ matrix.distro }}
path: /tmp/first.png