Skip to content

Commit 8336c6f

Browse files
committed
Use GitHub actions container
- makes it possible to break in steps - also upload created wrappers as artifacts
1 parent a93104d commit 8336c6f

File tree

5 files changed

+116
-149
lines changed

5 files changed

+116
-149
lines changed

.github/workflows/build.yml

Lines changed: 113 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,123 @@ defaults:
1111
shell: bash
1212

1313
jobs:
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

.github/workflows/dockerfiles/Dockerfile_centos7

Lines changed: 0 additions & 42 deletions
This file was deleted.

.github/workflows/dockerfiles/Dockerfile_ubuntu2004

Lines changed: 0 additions & 49 deletions
This file was deleted.

.github/workflows/dockerfiles/Dockerfile_ubuntu2204

Lines changed: 0 additions & 49 deletions
This file was deleted.

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,9 @@ Thumbs.db
8282
# Visual Studio Code
8383
.vscode/*
8484

85+
# JetBrains tools
86+
.idea/*
87+
8588
# Doxygen
8689
doxygen/html/*
8790
doxygen.log

0 commit comments

Comments
 (0)