Skip to content

Commit

Permalink
chore(ci): bump target qt versions: 6.5.x, 6.6.x, 6.7.x and 6.8.0 (#822)
Browse files Browse the repository at this point in the history
* chore(ci): bump target qt versions

Signed-off-by: Hiroshi Miura <[email protected]>

* chore(ci): use install-qt subcommand

- Drop backward compat check

Signed-off-by: Hiroshi Miura <[email protected]>

* chore(ci): wip

Signed-off-by: Hiroshi Miura <[email protected]>

* chore(ci): wip

Signed-off-by: Hiroshi Miura <[email protected]>

* chore(ci): fix qmake query checks

Signed-off-by: Hiroshi Miura <[email protected]>

* chore(ci): fix mingw targets

Signed-off-by: Hiroshi Miura <[email protected]>

* chore(ci): add target 6.8.0 and drop use of python3.9

Signed-off-by: Hiroshi Miura <[email protected]>

* chore(ci): add expectation for Qt 6.8

Signed-off-by: Hiroshi Miura <[email protected]>

* chore(ci): drop tox test from install-qt check

Signed-off-by: Hiroshi Miura <[email protected]>

* chore(ci): fix expectation for windows/android qt 6.6

Signed-off-by: Hiroshi Miura <[email protected]>

* chore(ci):  wip

Signed-off-by: Hiroshi Miura <[email protected]>

* chore(ci):  wip

Signed-off-by: Hiroshi Miura <[email protected]>

* chore(ci): add taget Qt 6.7.3

Signed-off-by: Hiroshi Miura <[email protected]>

* chore(ci): bump actions/setup-python@v5

Signed-off-by: Hiroshi Miura <[email protected]>

* chore(ci): azure-pipelines: drop test target Qt5

Signed-off-by: Hiroshi Miura <[email protected]>

* chore(ci): azure-pipelines: update triggers

Signed-off-by: Hiroshi Miura <[email protected]>

* chore(ci): azure-pipelines: disable Linux_ARM64

Signed-off-by: Hiroshi Miura <[email protected]>

* chore(ci): azure-pipelines: replace list with list-qt

Signed-off-by: Hiroshi Miura <[email protected]>

* chore(ci): azure-pipelines: no build check if list-qt

Signed-off-by: Hiroshi Miura <[email protected]>

---------

Signed-off-by: Hiroshi Miura <[email protected]>
  • Loading branch information
miurahr authored Oct 5, 2024
1 parent 151ca25 commit bdf8b4b
Show file tree
Hide file tree
Showing 11 changed files with 126 additions and 313 deletions.
14 changes: 5 additions & 9 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,24 +14,20 @@ on:
jobs:
check_document:
name: Check packaging 📦
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 20
fetch-tags: true
- name: Set up Python 3.9
uses: actions/setup-python@v4
- name: Set up Python 3.12
uses: actions/setup-python@v5
with:
python-version: '3.9'
python-version: '3.12'
- name: Install tools
run: |
pip install -U pip
pip install tox tox-gh-actions coveralls coverage[toml]
- name: Check invocation with Python2
run: |
! python2 -m aqt help
[[ $(python2 -m aqt help) == "aqtinstall requires python 3!" ]]
- name: Check
run: tox
env:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Initialize CodeQL
uses: github/codeql-action/init@v2
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/publish-to-pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,18 @@ on:
jobs:
build-n-publish:
name: Build and publish Python 🐍 distributions 📦 to PyPI
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Checkout 🛎️
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 50
- name: Fetch release tag
run: git fetch --depth=1 origin +refs/tags/*:refs/tags/*
- name: Set up Python 3.10🐍
uses: actions/setup-python@v4
- name: Set up Python 3.12🐍
uses: actions/setup-python@v5
with:
python-version: '3.10'
python-version: '3.12'
- name: Install build and twine
run: python -m pip install build twine --user
- name: Build release assets
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-note.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:
create-release-notes:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Create Release Notes
uses: docker://decathlon/release-notes-generator-action:2.0.0
env:
Expand Down
112 changes: 54 additions & 58 deletions .github/workflows/test-install-qt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,35 +15,31 @@ jobs:
strategy:
matrix:
os: [windows-latest, ubuntu-latest]
py: ["3.9", "3.12"]
qtver: [5.9.9, 6.1.0]
py: ["3.12"]
qtver: [6.5.3, 6.6.3]
artifact: [standard]
include:
- os: windows-latest
py: "3.10"
qtver: 6.1.0
py: "3.12"
qtver: 6.6.3
artifact: binary
- os: ubuntu-20.04
py: "3.10"
qtver: 6.1.0
- os: windows-latest
py: "3.12"
qtver: 6.7.3

This comment has been minimized.

Copy link
@Edgars-Cirulis

Edgars-Cirulis Oct 9, 2024

Why it isn't QT 6.8 for Windows.

This comment has been minimized.

Copy link
@pzhlkj6612

pzhlkj6612 Oct 15, 2024

Contributor

Hi. There are just some tests with limited coverage. We can also say "why is there no version prior to 6.4", right? ;-)

This comment has been minimized.

Copy link
@pzhlkj6612

pzhlkj6612 Oct 15, 2024

Contributor

And please don't make duplicate posts. Links:

artifact: standard
exclude:
- os: ubuntu-latest
py: "3.10"
qtver: 6.1.0
py: "3.12"
qtver: 6.8.0
artifact: standard
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 20
fetch-tags: true
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.py }}
- name: Run pytest
run: |
python -m pip install tox-gh-actions build
tox
- name: Build and install
if: matrix.artifact == 'standard'
run: |
Expand Down Expand Up @@ -88,24 +84,22 @@ jobs:
bin_path = str(github_workspace / "dist" / "aqt.exe")
else:
bin_path = (github_workspace / "dist" / "aqt").as_posix()
prefix = [bin_path, "install"]
prefix = [bin_path, "install-qt"]
else:
prefix = ["python", "-m", "aqt", "install"]
prefix = ["python", "-m", "aqt", "install-qt"]
command_line = []
command_line.extend(prefix)
if platform == "windows-latest":
if qtver.startswith('5.15'):
args = [qtver, "windows", "desktop", "win64_msvc2019_64"]
elif qtver.startswith('5.14'):
args = [qtver, "windows", "desktop", "win64_msvc2017_64"]
elif qtver.startswith('6'):
args = [qtver, "windows", "desktop", "win64_mingw81"]
if qtver.startswith('6.6'):
args = ["windows", "desktop", qtver, "win64_mingw"]
else:
args = [qtver, "windows", "desktop", "win64_msvc2015_64"]
args = ["windows", "desktop", qtver, "win64_msvc2019_64"]
elif platform == "macOS-latest":
args = [qtver, "mac", "desktop", "clang_64"]
args = ["mac", "desktop", qtver, "clang_64"]
elif qtver.startswith('6.8'):
args = ["linux", "desktop", qtver, "linux_gcc_64"]
else:
args = [qtver, "linux", "desktop", "gcc_64"]
args = ["linux", "desktop", qtver, "gcc_64"]
command_line.extend(args)
command_line.extend(["--archives", "qtbase", "icu", "qt"])
env["AQT_CONFIG"] = (github_workspace / "ci" / "settings.ini").as_posix()
Expand All @@ -116,17 +110,17 @@ jobs:
except subprocess.CalledProcessError as cpe:
exit(cpe.returncode)
assert res.returncode == 0
if qtver.startswith('6'):
if qtver.startswith('6.6'):
command_line6 = []
command_line6.extend(prefix)
if platform.startswith("ubuntu"):
command_line6.extend([qtver, "linux", "android", "android_armv7"])
command_line6.extend(["linux", "android", qtver, "android_armv7"])
timeout = 360
elif platform.startswith("macOS"):
command_line6.extend([qtver, "mac", "ios", "ios"])
command_line6.extend(["mac", "ios", qtver, "ios"])
timeout = 360
else:
command_line6.extend([qtver, "windows", "android", "android_armv7"])
command_line6.extend(["windows", "android", qtver, "android_armv7"])
timeout = 360
print("Execute: {}".format(command_line6))
try:
Expand All @@ -145,14 +139,10 @@ jobs:
platform = "${{ matrix.os }}"
qtver = "${{ matrix.qtver }}"
if platform == "windows-latest":
if qtver.startswith('5.15'):
arch_dir = 'msvc2019_64'
elif qtver.startswith('5.14'):
arch_dir = 'msvc2017_64'
elif qtver.startswith('6'):
arch_dir = 'mingw81_64'
if qtver.startswith('6.6'):
arch_dir = 'mingw_64'
else:
arch_dir = 'msvc2015_64'
arch_dir = 'msvc2019_64'
elif platform == "macOS-latest":
arch_dir = 'clang_64'
else:
Expand All @@ -161,29 +151,35 @@ jobs:
res = run([f"{qtver}/{arch_dir}/bin/qmake", "-query"], timeout=15, check=True, stdout=PIPE)
except CalledProcessError as cpe:
exit(cpe.returncode)
if res.returncode == 0:
qt_prefix_path = pathlib.Path.cwd() / qtver / arch_dir
assert res.returncode == 0
print('Check prefix path qmake recognized...')
qt_prefix_path = pathlib.Path.cwd() / qtver / arch_dir
for line in res.stdout.splitlines():
if line.startswith(b'QT_INSTALL_PREFIX'):
result = line[18:].decode('UTF-8')
assert qt_prefix_path.samefile(result)
print('QT_INSTALL_PREFIX {}\nExpected path {}'.format(result, qt_prefix_path))
if qtver.startswith('6.6'):
print('Check prefix path by android/ios qmake recognized...')
if platform == "windows-latest":
target_dir = 'android_armv7'
qmake = os.path.join(qtver, 'android_armv7', 'bin', 'qmake.bat')
elif platform == "macOS-latest":
target_dir = 'ios'
qmake = os.path.join(qtver, 'ios', 'bin', 'qmake')
else:
target_dir = 'android_armv7'
qmake = os.path.join(qtver, 'android_armv7', 'bin', 'qmake')
try:
res = run([qmake, "-query"], timeout=15, check=True, stdout=PIPE)
except CalledProcessError as cpe:
exit(cpe.returncode)
assert res.returncode == 0
expected_path = pathlib.Path.cwd() / qtver / target_dir
for line in res.stdout.splitlines():
if line.startswith(b'QT_INSTALL_PREFIX'):
result = line[18:].decode('UTF-8')
assert qt_prefix_path.samefile(result)
print('PREFIX {}'.format(result))
if qtver.startswith('6'):
if platform == "windows-latest" and qtver.startswith('6'):
qmake = os.path.join(qtver, 'android_armv7', 'bin', 'qmake.bat')
elif platform == "macOS-latest" and qtver.startswith('6'):
qmake = os.path.join(qtver, 'ios', 'bin', 'qmake')
else:
qmake = os.path.join(qtver, 'android_armv7', 'bin', 'qmake')
try:
res = run([qmake, "-query"], timeout=15, check=True, stdout=PIPE)
except CalledProcessError as cpe:
exit(cpe.returncode)
assert res.returncode == 0
for line in res.stdout.splitlines():
if line.startswith(b'QT_INSTALL_PREFIX'):
result = line[18:].decode('UTF-8')
print('PREFIX {}'.format(result))
print('QT_INATALL_PREFIX {}\nExpected path {}'.format(result, expected_path))
shell: python
working-directory: ${{ github.workspace }}
- uses: actions/upload-artifact@v4
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/upload-release-artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,12 @@ jobs:
run:
shell: ${{ matrix.system.os == 'windows-latest' && 'pwsh' || 'bash' }} {0}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 20
- run: git fetch --depth=1 origin +refs/tags/*:refs/tags/*
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.py }}
architecture: ${{ matrix.system.arch }}
Expand Down
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ Requirements
3.9

- Recommended Python version:
3.9, 3.12 (frequently tested on)
3.12 (frequently tested on)

- Dependencies:
requests
Expand Down
36 changes: 15 additions & 21 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,15 @@
trigger: none
pr: none
schedules:
- cron: '0 12 * * 0'
displayName: Weekly sunday full tests
branches:
include:
- master
trigger: [master]
pr: [master]

jobs:
- job: MatricesGenerator
displayName: Matrices Generator
pool:
vmImage: 'ubuntu-20.04'
vmImage: 'ubuntu-22.04'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.9'
versionSpec: '3.12'
addToPath: true
- bash: python ci/generate_azure_pipelines_matrices.py
name: mtrx
Expand Down Expand Up @@ -54,14 +48,14 @@ jobs:
steps:
- template: ci/steps.yml

- job: Linux_ARM64
dependsOn: MatricesGenerator
pool:
vmImage: 'ubuntu-22.04'
container:
image: ubuntu:22.04
options: --platform linux/arm64
strategy:
matrix: $[ dependencies.MatricesGenerator.outputs['mtrx.linux_arm64'] ]
steps:
- template: ci/steps.yml
#- job: Linux_ARM64
# dependsOn: MatricesGenerator
# pool:
# vmImage: 'ubuntu-22.04'
# container:
# image: ubuntu:22.04
# options: --platform linux/arm64
# strategy:
# matrix: $[ dependencies.MatricesGenerator.outputs['mtrx.linux_arm64'] ]
# steps:
# - template: ci/steps.yml
Loading

0 comments on commit bdf8b4b

Please sign in to comment.