@@ -11,19 +11,123 @@ defaults:
1111 shell : bash
1212
1313jobs :
14- build :
15- runs-on : ubuntu-latest
14+ ubuntu :
1615 strategy :
1716 fail-fast : false
1817 matrix :
19- runs-on : [ubuntu-latest]
20- docker-image : [centos7, ubuntu2004, ubuntu2204]
18+ container :
19+ - ' ubuntu:20.04'
20+ - ' ubuntu:22.04'
21+ runs-on : ubuntu-latest
22+ container : ${{ matrix.container }}
23+ steps :
24+ - name : Install Qt
25+ run : |
26+ apt-get update
27+ DEBIAN_FRONTEND=noninteractive apt-get install -y --force-yes \
28+ build-essential \
29+ python3 \
30+ python3-dev \
31+ libpython3-dev \
32+ qtbase5-dev \
33+ qtbase5-private-dev \
34+ qt5-qmake \
35+ qtbase5-dev-tools \
36+ qttools5-dev \
37+ qtdeclarative5-dev \
38+ libqt5svg5* \
39+ libqt5xmlpatterns5* \
40+ libqt5multimedia5* \
41+ libqt5multimediawidgets5* \
42+ libqt5qml5* \
43+ libqt5quickwidgets5* \
44+ qtmultimedia5-dev
45+ apt-get clean
46+
47+ - name : Checkout PythonQt
48+ uses : actions/checkout@v3
49+
50+ - name : Build PythonQt
51+ run : |
52+ export QT_SELECT=qt5
53+ echo ======= SYSTEM INFO ========
54+ uname -a; gcc --version | grep "gcc"; python3 --version; qmake --version
55+ echo ============================
56+ qmake -r PythonQt.pro \
57+ PYTHON_VERSION=$(python3 --version | cut -d " " -f 2 | cut -d "." -f1,2) \
58+ PYTHON_DIR=$(which python3 | xargs dirname | xargs dirname)
59+ make
60+
61+ - name : Generate Wrappers
62+ run : |
63+ # workaround to allow to find the Qt include dirs for installed standard qt packages
64+ mkdir /usr/include/qt5; ln -s /usr/include/x86_64-linux-gnu/qt5 /usr/include/qt5/include
65+ export QTDIR=/usr/include/qt5
66+ cd generator
67+ ./pythonqt_generator
68+
69+ - name : Upload Wrappers
70+ uses : actions/upload-artifact@v3
71+ if : ${{ matrix.container }} == 'ubuntu:20.04'
72+ with :
73+ name : wrappers_ubuntu_20_04
74+ path : generated_cpp
2175
76+ - name : Upload Wrappers
77+ uses : actions/upload-artifact@v3
78+ if : ${{ matrix.container }} == 'ubuntu:22.04'
79+ with :
80+ name : wrappers_ubuntu_22_04
81+ path : generated_cpp
82+
83+ centos :
84+ strategy :
85+ fail-fast : false
86+ matrix :
87+ container :
88+ - ' centos:7'
89+ runs-on : ubuntu-latest
90+ container : ${{ matrix.container }}
2291 steps :
23- - uses : actions/checkout@v3
24- - name : Setup docker container
92+ - name : Install Qt
2593 run : |
26- docker build -t pythonqt -f $GITHUB_WORKSPACE/.github/workflows/dockerfiles/Dockerfile_${{ matrix.docker-image }} .
94+ yum update -y
95+ yum groupinstall "Development Tools" -y
96+ yum install -y \
97+ which \
98+ python-debug \
99+ qt5-qtbase-* \
100+ qt5-qttools* \
101+ qt5-qtsvg \
102+ qt5-qtxmlpatterns \
103+ qt5-qtmultimedia \
104+ qt5-qt3d \
105+ qt5-*-devel
27106
28- - name : Run docker
29- run : docker run -t pythonqt
107+ - name : Checkout PythonQt
108+ uses : actions/checkout@v3
109+
110+ - name : Build PythonQt
111+ run : |
112+ export QT_SELECT=qt5
113+ echo ======= SYSTEM INFO ========
114+ uname -a; gcc --version | grep "gcc"; python --version; qmake-qt5 --version
115+ echo ============================
116+ qmake-qt5 -r PythonQt.pro \
117+ PYTHON_VERSION=$(python --version | cut -d " " -f 2 | cut -d "." -f1,2) \
118+ PYTHON_DIR=$(which python | xargs dirname | xargs dirname)
119+ make
120+
121+ - name : Generate Wrappers
122+ run : |
123+ # workaround to allow to find the Qt include dirs for installed standard qt packages
124+ mkdir /usr/include/qt5ln; ln -s /usr/include/qt5 /usr/include/qt5ln/include
125+ export QTDIR=/usr/include/qt5ln
126+ cd generator
127+ ./pythonqt_generator
128+
129+ - name : Upload Wrappers
130+ uses : actions/upload-artifact@v3
131+ with :
132+ name : wrappers_centos7
133+ path : generated_cpp
0 commit comments