Skip to content

Commit 9f18eb6

Browse files
committed
Migrate from AppVeyor to GitHub Actions
1 parent 801d59c commit 9f18eb6

11 files changed

Lines changed: 405 additions & 1 deletion

.github/workflows/badge-binary.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Binary Badge
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
build:
9+
runs-on: ubuntu-24.04
10+
11+
steps:
12+
- name: Checkout repo
13+
uses: actions/checkout@v4
14+
15+
- name: Install Qt
16+
uses: jurplel/install-qt-action@v3
17+
with:
18+
aqtversion: '==3.1.*'
19+
version: 6.8.2
20+
host: linux
21+
target: desktop
22+
arch: linux_gcc_64
23+
24+
- name: Make Binary
25+
working-directory: ${{ runner.temp }}
26+
run: |
27+
qmake ${{ github.workspace }}/example/qhexedit.pro
28+
make -j12
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Designer Plugin Badge
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
build:
9+
runs-on: ubuntu-24.04
10+
11+
steps:
12+
- name: Checkout repo
13+
uses: actions/checkout@v4
14+
15+
- name: Install Qt
16+
uses: jurplel/install-qt-action@v3
17+
with:
18+
aqtversion: '==3.1.*'
19+
version: 6.8.2
20+
host: linux
21+
target: desktop
22+
arch: linux_gcc_64
23+
24+
- name: Make Designer Plugin
25+
working-directory: ${{ runner.temp }}
26+
run: |
27+
qmake ${{ github.workspace }}/designer/designer.pro
28+
make -j12
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Library Badge
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
build:
9+
runs-on: ubuntu-24.04
10+
11+
steps:
12+
- name: Checkout repo
13+
uses: actions/checkout@v4
14+
15+
- name: Install Qt
16+
uses: jurplel/install-qt-action@v3
17+
with:
18+
aqtversion: '==3.1.*'
19+
version: 6.8.2
20+
host: linux
21+
target: desktop
22+
arch: linux_gcc_64
23+
24+
- name: Make Library
25+
working-directory: ${{ runner.temp }}
26+
run: |
27+
qmake ${{ github.workspace }}/src/qhexedit.pro
28+
make -j12
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
name: Windows Qt6 QHexEdit Binaries
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
defaults:
9+
run:
10+
shell: cmd
11+
12+
jobs:
13+
build:
14+
runs-on: windows-2022
15+
16+
steps:
17+
- name: Checkout repo
18+
uses: actions/checkout@v4
19+
20+
- name: Install Qt
21+
uses: jurplel/install-qt-action@v3
22+
with:
23+
aqtversion: '==3.1.*'
24+
version: 6.8.2
25+
host: windows
26+
target: desktop
27+
arch: win64_msvc2022_64
28+
dir: ${{ runner.temp }}
29+
30+
- name: Set up Visual Studio shell
31+
uses: egor-tensin/vs-shell@v2
32+
with:
33+
arch: x64
34+
35+
- name: Make qhexedit.exe
36+
working-directory: ${{ runner.temp }}
37+
run: |
38+
mkdir build
39+
cd build
40+
qmake ${{ github.workspace }}\example\qhexedit.pro
41+
nmake release
42+
43+
- name: Collect qhexedit.exe and dlls
44+
working-directory: ${{ runner.temp }}
45+
run: |
46+
mkdir qt6-qhexedit
47+
cd qt6-qhexedit
48+
copy ${{ runner.temp }}\build\release\qhexedit.exe .
49+
copy C:\Windows\System32\msvcp140.dll .
50+
copy C:\Windows\System32\vcruntime140.dll .
51+
52+
copy ${{ runner.temp }}\Qt\6.8.2\msvc2022_64\bin\Qt6Gui.dll .
53+
copy ${{ runner.temp }}\Qt\6.8.2\msvc2022_64\bin\Qt6Core.dll .
54+
copy ${{ runner.temp }}\Qt\6.8.2\msvc2022_64\bin\Qt6Widgets.dll .
55+
56+
mkdir platforms
57+
copy ${{ runner.temp }}\Qt\6.8.2\msvc2022_64\plugins\platforms\qwindows.dll platforms
58+
59+
mkdir styles
60+
copy ${{ runner.temp }}\Qt\6.8.2\msvc2022_64\plugins\styles\qmodernwindowsstyle.dll styles
61+
62+
- name: Save qhexedit.exe and dlls
63+
uses: actions/upload-artifact@master
64+
with:
65+
name: windows-qt6-qhexedit
66+
path: ${{ runner.temp }}\qt6-qhexedit
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: Linux Qt5 PyQt Wheel
2+
3+
on:
4+
workflow_call:
5+
6+
jobs:
7+
build:
8+
runs-on: ubuntu-24.04
9+
10+
steps:
11+
- name: Checkout repo
12+
uses: actions/checkout@v4
13+
14+
- name: Install Qt
15+
uses: jurplel/install-qt-action@v3
16+
with:
17+
aqtversion: '==3.1.*'
18+
version: 5.15.2
19+
host: linux
20+
target: desktop
21+
arch: gcc_64
22+
23+
- name: Setup Python
24+
uses: actions/setup-python@v5
25+
with:
26+
python-version: 3.12
27+
28+
- name: Install Python Dependencies
29+
run: |
30+
python -m pip install --upgrade pip
31+
pip install build
32+
33+
- name: Make Python Wheel
34+
working-directory: ${{ runner.temp }}
35+
run: |
36+
mkdir python
37+
cd python
38+
cp -r ${{ github.workspace }}/src .
39+
cp ${{ github.workspace }}/license.txt .
40+
cp ${{ github.workspace }}/readme.md .
41+
cp ${{ github.workspace }}/python/project.py .
42+
cp ${{ github.workspace }}/python/pyqt5-pyproject.toml pyproject.toml
43+
cp ${{ github.workspace }}/python/QHexEdit.sip .
44+
45+
python -m build --verbose
46+
47+
- name: Save Python Wheel
48+
uses: actions/upload-artifact@v4
49+
with:
50+
name: wheel-qt5-linux
51+
path: ${{ runner.temp }}/python/dist
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Windows Qt5 PyQt Wheel
2+
3+
on:
4+
workflow_call:
5+
6+
defaults:
7+
run:
8+
shell: cmd
9+
10+
jobs:
11+
build:
12+
runs-on: windows-2019
13+
14+
steps:
15+
- name: Checkout repo
16+
uses: actions/checkout@v4
17+
18+
- name: Install Qt
19+
uses: jurplel/install-qt-action@v2
20+
with:
21+
version: 5.15.2
22+
host: windows
23+
target: desktop
24+
arch: win64_msvc2019_64
25+
dir: ${{ runner.temp }}
26+
setup-python: false
27+
28+
- name: Set up Visual Studio shell
29+
uses: egor-tensin/vs-shell@v2
30+
with:
31+
arch: x64
32+
33+
- name: Make Python Wheel
34+
working-directory: ${{ runner.temp }}
35+
run: |
36+
python -m pip install build
37+
mkdir python
38+
cd python
39+
xcopy ${{ github.workspace }}\src src\
40+
copy ${{ github.workspace }}\license.txt .
41+
copy ${{ github.workspace }}\readme.md .
42+
copy ${{ github.workspace }}\python\project.py .
43+
copy ${{ github.workspace }}\python\pyqt5-pyproject.toml pyproject.toml
44+
copy ${{ github.workspace }}\python\QHexEdit.sip .
45+
46+
python -m build --verbose
47+
48+
- name: Save Python Wheel
49+
uses: actions/upload-artifact@v4
50+
with:
51+
name: wheel-qt5-windows
52+
path: ${{ runner.temp }}\python\dist\*.whl

.github/workflows/wheel-qt5.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Make Qt5 Wheels
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
jobs:
9+
10+
build-linux:
11+
uses: ./.github/workflows/wheel-qt5-linux.yml
12+
13+
build-windows:
14+
uses: ./.github/workflows/wheel-qt5-windows.yml
15+
16+
merge:
17+
runs-on: ubuntu-latest
18+
needs: [build-linux, build-windows]
19+
steps:
20+
- name: Merge Artifacts
21+
uses: actions/upload-artifact/merge@v4
22+
with:
23+
name: pyqt5-dist
24+
delete-merged: true
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: Linux Qt6 PyQt Wheel
2+
3+
on:
4+
workflow_call:
5+
6+
jobs:
7+
build:
8+
runs-on: ubuntu-24.04
9+
10+
steps:
11+
- name: Checkout repo
12+
uses: actions/checkout@v4
13+
14+
- name: Install Qt
15+
uses: jurplel/install-qt-action@v3
16+
with:
17+
aqtversion: '==3.1.*'
18+
version: 6.8.2
19+
host: linux
20+
target: desktop
21+
arch: linux_gcc_64
22+
23+
- name: Setup Python
24+
uses: actions/setup-python@v5
25+
with:
26+
python-version: 3.12
27+
28+
- name: Install Python Dependencies
29+
run: |
30+
python -m pip install --upgrade pip
31+
pip install build
32+
33+
- name: Make Python Wheel
34+
working-directory: ${{ runner.temp }}
35+
run: |
36+
mkdir python
37+
cd python
38+
cp -r ${{ github.workspace }}/src .
39+
cp ${{ github.workspace }}/license.txt .
40+
cp ${{ github.workspace }}/readme.md .
41+
cp ${{ github.workspace }}/python/project.py .
42+
cp ${{ github.workspace }}/python/pyqt6-pyproject.toml pyproject.toml
43+
cp ${{ github.workspace }}/python/QHexEdit.sip .
44+
45+
python -m build --verbose
46+
47+
- name: Save Python Wheel
48+
uses: actions/upload-artifact@v4
49+
with:
50+
name: wheel-qt6-linux
51+
path: ${{ runner.temp }}/python/dist/*.whl
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Windows Qt6 PyQt Wheel
2+
3+
on:
4+
workflow_call:
5+
6+
defaults:
7+
run:
8+
shell: cmd
9+
10+
jobs:
11+
build:
12+
runs-on: windows-2022
13+
14+
steps:
15+
- name: Checkout repo
16+
uses: actions/checkout@v4
17+
18+
- name: Install Qt
19+
uses: jurplel/install-qt-action@v3
20+
with:
21+
aqtversion: '==3.1.*'
22+
version: 6.8.2
23+
host: windows
24+
target: desktop
25+
arch: win64_msvc2022_64
26+
dir: ${{ runner.temp }}
27+
28+
- name: Set up Visual Studio shell
29+
uses: egor-tensin/vs-shell@v2
30+
with:
31+
arch: x64
32+
33+
- name: Make Python Wheel
34+
working-directory: ${{ runner.temp }}
35+
run: |
36+
python -m pip install build
37+
mkdir python
38+
cd python
39+
xcopy ${{ github.workspace }}\src src\
40+
copy ${{ github.workspace }}\license.txt .
41+
copy ${{ github.workspace }}\readme.md .
42+
copy ${{ github.workspace }}\python\project.py .
43+
copy ${{ github.workspace }}\python\pyqt6-pyproject.toml pyproject.toml
44+
copy ${{ github.workspace }}\python\QHexEdit.sip .
45+
46+
python -m build --verbose
47+
48+
- name: Save Python Wheel
49+
uses: actions/upload-artifact@master
50+
with:
51+
name: wheel-qt6-windows
52+
path: ${{ runner.temp }}\python\dist\*.whl

0 commit comments

Comments
 (0)