@@ -11,19 +11,123 @@ defaults:
11
11
shell : bash
12
12
13
13
jobs :
14
- build :
15
- runs-on : ubuntu-latest
14
+ ubuntu :
16
15
strategy :
17
16
fail-fast : false
18
17
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
21
75
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 }}
22
91
steps :
23
- - uses : actions/checkout@v3
24
- - name : Setup docker container
92
+ - name : Install Qt
25
93
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
27
106
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