chore(ci): bump target qt versions: 6.5.x, 6.6.x, 6.7.x and 6.8.0 (#822)

* chore(ci): bump target qt versions

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* chore(ci): use install-qt subcommand

- Drop backward compat check

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* chore(ci): wip

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* chore(ci): wip

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* chore(ci): fix qmake query checks

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* chore(ci): fix mingw targets

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

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

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* chore(ci): add expectation for Qt 6.8

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

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

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

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

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* chore(ci):  wip

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* chore(ci):  wip

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* chore(ci): add taget Qt 6.7.3

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

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

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

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

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

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

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

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

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

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

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

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

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

---------

Signed-off-by: Hiroshi Miura <miurahr@linux.com>
This commit is contained in:
Hiroshi Miura
2024-10-06 08:40:49 +09:00
committed by GitHub
parent 151ca25c34
commit bdf8b4b1f9
11 changed files with 126 additions and 313 deletions

View File

@@ -14,24 +14,20 @@ on:
jobs: jobs:
check_document: check_document:
name: Check packaging 📦 name: Check packaging 📦
runs-on: ubuntu-20.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
with: with:
fetch-depth: 20 fetch-depth: 20
fetch-tags: true fetch-tags: true
- name: Set up Python 3.9 - name: Set up Python 3.12
uses: actions/setup-python@v4 uses: actions/setup-python@v5
with: with:
python-version: '3.9' python-version: '3.12'
- name: Install tools - name: Install tools
run: | run: |
pip install -U pip pip install -U pip
pip install tox tox-gh-actions coveralls coverage[toml] 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 - name: Check
run: tox run: tox
env: env:

View File

@@ -28,7 +28,7 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v3 uses: actions/checkout@v4
- name: Initialize CodeQL - name: Initialize CodeQL
uses: github/codeql-action/init@v2 uses: github/codeql-action/init@v2

View File

@@ -12,18 +12,18 @@ on:
jobs: jobs:
build-n-publish: build-n-publish:
name: Build and publish Python 🐍 distributions 📦 to PyPI name: Build and publish Python 🐍 distributions 📦 to PyPI
runs-on: ubuntu-20.04 runs-on: ubuntu-22.04
steps: steps:
- name: Checkout 🛎️ - name: Checkout 🛎️
uses: actions/checkout@v3 uses: actions/checkout@v4
with: with:
fetch-depth: 50 fetch-depth: 50
- name: Fetch release tag - name: Fetch release tag
run: git fetch --depth=1 origin +refs/tags/*:refs/tags/* run: git fetch --depth=1 origin +refs/tags/*:refs/tags/*
- name: Set up Python 3.10🐍 - name: Set up Python 3.12🐍
uses: actions/setup-python@v4 uses: actions/setup-python@v5
with: with:
python-version: '3.10' python-version: '3.12'
- name: Install build and twine - name: Install build and twine
run: python -m pip install build twine --user run: python -m pip install build twine --user
- name: Build release assets - name: Build release assets

View File

@@ -7,7 +7,7 @@ jobs:
create-release-notes: create-release-notes:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Create Release Notes - name: Create Release Notes
uses: docker://decathlon/release-notes-generator-action:2.0.0 uses: docker://decathlon/release-notes-generator-action:2.0.0
env: env:

View File

@@ -15,35 +15,31 @@ jobs:
strategy: strategy:
matrix: matrix:
os: [windows-latest, ubuntu-latest] os: [windows-latest, ubuntu-latest]
py: ["3.9", "3.12"] py: ["3.12"]
qtver: [5.9.9, 6.1.0] qtver: [6.5.3, 6.6.3]
artifact: [standard] artifact: [standard]
include: include:
- os: windows-latest - os: windows-latest
py: "3.10" py: "3.12"
qtver: 6.1.0 qtver: 6.6.3
artifact: binary artifact: binary
- os: ubuntu-20.04 - os: windows-latest
py: "3.10" py: "3.12"
qtver: 6.1.0 qtver: 6.7.3
artifact: standard artifact: standard
exclude:
- os: ubuntu-latest - os: ubuntu-latest
py: "3.10" py: "3.12"
qtver: 6.1.0 qtver: 6.8.0
artifact: standard
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
with: with:
fetch-depth: 20 fetch-depth: 20
fetch-tags: true fetch-tags: true
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v4 uses: actions/setup-python@v5
with: with:
python-version: ${{ matrix.py }} python-version: ${{ matrix.py }}
- name: Run pytest
run: |
python -m pip install tox-gh-actions build
tox
- name: Build and install - name: Build and install
if: matrix.artifact == 'standard' if: matrix.artifact == 'standard'
run: | run: |
@@ -88,24 +84,22 @@ jobs:
bin_path = str(github_workspace / "dist" / "aqt.exe") bin_path = str(github_workspace / "dist" / "aqt.exe")
else: else:
bin_path = (github_workspace / "dist" / "aqt").as_posix() bin_path = (github_workspace / "dist" / "aqt").as_posix()
prefix = [bin_path, "install"] prefix = [bin_path, "install-qt"]
else: else:
prefix = ["python", "-m", "aqt", "install"] prefix = ["python", "-m", "aqt", "install-qt"]
command_line = [] command_line = []
command_line.extend(prefix) command_line.extend(prefix)
if platform == "windows-latest": if platform == "windows-latest":
if qtver.startswith('5.15'): if qtver.startswith('6.6'):
args = [qtver, "windows", "desktop", "win64_msvc2019_64"] args = ["windows", "desktop", qtver, "win64_mingw"]
elif qtver.startswith('5.14'):
args = [qtver, "windows", "desktop", "win64_msvc2017_64"]
elif qtver.startswith('6'):
args = [qtver, "windows", "desktop", "win64_mingw81"]
else: else:
args = [qtver, "windows", "desktop", "win64_msvc2015_64"] args = ["windows", "desktop", qtver, "win64_msvc2019_64"]
elif platform == "macOS-latest": 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: else:
args = [qtver, "linux", "desktop", "gcc_64"] args = ["linux", "desktop", qtver, "gcc_64"]
command_line.extend(args) command_line.extend(args)
command_line.extend(["--archives", "qtbase", "icu", "qt"]) command_line.extend(["--archives", "qtbase", "icu", "qt"])
env["AQT_CONFIG"] = (github_workspace / "ci" / "settings.ini").as_posix() env["AQT_CONFIG"] = (github_workspace / "ci" / "settings.ini").as_posix()
@@ -116,17 +110,17 @@ jobs:
except subprocess.CalledProcessError as cpe: except subprocess.CalledProcessError as cpe:
exit(cpe.returncode) exit(cpe.returncode)
assert res.returncode == 0 assert res.returncode == 0
if qtver.startswith('6'): if qtver.startswith('6.6'):
command_line6 = [] command_line6 = []
command_line6.extend(prefix) command_line6.extend(prefix)
if platform.startswith("ubuntu"): if platform.startswith("ubuntu"):
command_line6.extend([qtver, "linux", "android", "android_armv7"]) command_line6.extend(["linux", "android", qtver, "android_armv7"])
timeout = 360 timeout = 360
elif platform.startswith("macOS"): elif platform.startswith("macOS"):
command_line6.extend([qtver, "mac", "ios", "ios"]) command_line6.extend(["mac", "ios", qtver, "ios"])
timeout = 360 timeout = 360
else: else:
command_line6.extend([qtver, "windows", "android", "android_armv7"]) command_line6.extend(["windows", "android", qtver, "android_armv7"])
timeout = 360 timeout = 360
print("Execute: {}".format(command_line6)) print("Execute: {}".format(command_line6))
try: try:
@@ -145,14 +139,10 @@ jobs:
platform = "${{ matrix.os }}" platform = "${{ matrix.os }}"
qtver = "${{ matrix.qtver }}" qtver = "${{ matrix.qtver }}"
if platform == "windows-latest": if platform == "windows-latest":
if qtver.startswith('5.15'): if qtver.startswith('6.6'):
arch_dir = 'msvc2019_64' arch_dir = 'mingw_64'
elif qtver.startswith('5.14'):
arch_dir = 'msvc2017_64'
elif qtver.startswith('6'):
arch_dir = 'mingw81_64'
else: else:
arch_dir = 'msvc2015_64' arch_dir = 'msvc2019_64'
elif platform == "macOS-latest": elif platform == "macOS-latest":
arch_dir = 'clang_64' arch_dir = 'clang_64'
else: else:
@@ -161,29 +151,35 @@ jobs:
res = run([f"{qtver}/{arch_dir}/bin/qmake", "-query"], timeout=15, check=True, stdout=PIPE) res = run([f"{qtver}/{arch_dir}/bin/qmake", "-query"], timeout=15, check=True, stdout=PIPE)
except CalledProcessError as cpe: except CalledProcessError as cpe:
exit(cpe.returncode) exit(cpe.returncode)
if res.returncode == 0: assert res.returncode == 0
qt_prefix_path = pathlib.Path.cwd() / qtver / arch_dir 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(): for line in res.stdout.splitlines():
if line.startswith(b'QT_INSTALL_PREFIX'): if line.startswith(b'QT_INSTALL_PREFIX'):
result = line[18:].decode('UTF-8') result = line[18:].decode('UTF-8')
assert qt_prefix_path.samefile(result) print('QT_INATALL_PREFIX {}\nExpected path {}'.format(result, expected_path))
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))
shell: python shell: python
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
- uses: actions/upload-artifact@v4 - uses: actions/upload-artifact@v4

View File

@@ -25,12 +25,12 @@ jobs:
run: run:
shell: ${{ matrix.system.os == 'windows-latest' && 'pwsh' || 'bash' }} {0} shell: ${{ matrix.system.os == 'windows-latest' && 'pwsh' || 'bash' }} {0}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
with: with:
fetch-depth: 20 fetch-depth: 20
- run: git fetch --depth=1 origin +refs/tags/*:refs/tags/* - run: git fetch --depth=1 origin +refs/tags/*:refs/tags/*
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v4 uses: actions/setup-python@v5
with: with:
python-version: ${{ matrix.py }} python-version: ${{ matrix.py }}
architecture: ${{ matrix.system.arch }} architecture: ${{ matrix.system.arch }}

View File

@@ -56,7 +56,7 @@ Requirements
3.9 3.9
- Recommended Python version: - Recommended Python version:
3.9, 3.12 (frequently tested on) 3.12 (frequently tested on)
- Dependencies: - Dependencies:
requests requests

View File

@@ -1,21 +1,15 @@
trigger: none trigger: [master]
pr: none pr: [master]
schedules:
- cron: '0 12 * * 0'
displayName: Weekly sunday full tests
branches:
include:
- master
jobs: jobs:
- job: MatricesGenerator - job: MatricesGenerator
displayName: Matrices Generator displayName: Matrices Generator
pool: pool:
vmImage: 'ubuntu-20.04' vmImage: 'ubuntu-22.04'
steps: steps:
- task: UsePythonVersion@0 - task: UsePythonVersion@0
inputs: inputs:
versionSpec: '3.9' versionSpec: '3.12'
addToPath: true addToPath: true
- bash: python ci/generate_azure_pipelines_matrices.py - bash: python ci/generate_azure_pipelines_matrices.py
name: mtrx name: mtrx
@@ -54,14 +48,14 @@ jobs:
steps: steps:
- template: ci/steps.yml - template: ci/steps.yml
- job: Linux_ARM64 #- job: Linux_ARM64
dependsOn: MatricesGenerator # dependsOn: MatricesGenerator
pool: # pool:
vmImage: 'ubuntu-22.04' # vmImage: 'ubuntu-22.04'
container: # container:
image: ubuntu:22.04 # image: ubuntu:22.04
options: --platform linux/arm64 # options: --platform linux/arm64
strategy: # strategy:
matrix: $[ dependencies.MatricesGenerator.outputs['mtrx.linux_arm64'] ] # matrix: $[ dependencies.MatricesGenerator.outputs['mtrx.linux_arm64'] ]
steps: # steps:
- template: ci/steps.yml # - template: ci/steps.yml

View File

@@ -60,7 +60,7 @@ class BuildJob:
def qt_bindir(self, *, sep='/') -> str: def qt_bindir(self, *, sep='/') -> str:
out_dir = f"$(Build.BinariesDirectory){sep}Qt" if not self.output_dir else self.output_dir out_dir = f"$(Build.BinariesDirectory){sep}Qt" if not self.output_dir else self.output_dir
version_dir = "5.9" if self.qt_version == "5.9.0" else self.qt_version version_dir = self.qt_version
return f"{out_dir}{sep}{version_dir}{sep}{self.archdir}{sep}bin" return f"{out_dir}{sep}{version_dir}{sep}{self.archdir}{sep}bin"
def win_qt_bindir(self) -> str: def win_qt_bindir(self) -> str:
@@ -68,7 +68,7 @@ class BuildJob:
def autodesk_qt_bindir(self, *, sep='/') -> str: def autodesk_qt_bindir(self, *, sep='/') -> str:
out_dir = f"$(Build.BinariesDirectory){sep}Qt" if not self.output_dir else self.output_dir out_dir = f"$(Build.BinariesDirectory){sep}Qt" if not self.output_dir else self.output_dir
version_dir = "5.9" if self.qt_version == "5.9.0" else self.qt_version version_dir = self.qt_version
return f"{out_dir}{sep}{version_dir}{sep}{self.autodesk_arch_folder or self.archdir}{sep}bin" return f"{out_dir}{sep}{version_dir}{sep}{self.autodesk_arch_folder or self.archdir}{sep}bin"
def win_autodesk_qt_bindir(self) -> str: def win_autodesk_qt_bindir(self) -> str:
@@ -87,9 +87,9 @@ class PlatformBuildJobs:
self.build_jobs = build_jobs self.build_jobs = build_jobs
python_versions = ["3.9", "3.11", "3.12"] python_versions = ["3.12"]
qt_versions = ["5.12.12", "5.15.14", "6.5.3"] qt_versions = ["6.5.3"]
linux_build_jobs = [] linux_build_jobs = []
linux_arm64_build_jobs = [] linux_arm64_build_jobs = []
@@ -113,107 +113,25 @@ linux_arm64_build_jobs.append(BuildJob("install-qt", "6.7.0", "linux_arm64", "de
# Mac Desktop # Mac Desktop
for qt_version in qt_versions: for qt_version in qt_versions:
mac_build_jobs.append( mac_build_jobs.append(
BuildJob("install-qt", qt_version, "mac", "desktop", "clang_64", "clang_64") BuildJob("install-qt", qt_version, "mac", "desktop", "clang_64", "macos")
) )
mac_build_jobs.append(BuildJob(
"install-qt",
"6.2.0",
"mac",
"desktop",
"clang_64",
"macos",
module="qtcharts qtnetworkauth", ))
# Windows Desktop # Windows Desktop
for qt_version in qt_versions:
windows_build_jobs.append(BuildJob("install-qt", qt_version, "windows", "desktop", "win64_msvc2019_64", "msvc2019_64"))
windows_build_jobs.extend( windows_build_jobs.extend(
[ [
BuildJob( BuildJob(
"install-qt", "install-qt",
"5.15.2", "6.5.3",
"windows",
"desktop",
"win32_msvc2019",
"msvc2019",
mirror=random.choice(MIRRORS),
),
BuildJob(
"install-qt",
"5.14.2",
"windows",
"desktop",
"win32_mingw73",
"mingw73_32",
mingw_variant="win32_mingw730",
mirror=random.choice(MIRRORS),
),
BuildJob(
"install-qt",
"5.11.3",
"windows",
"desktop",
"win32_mingw53",
"mingw53_32",
subarchives="qtwinextras qtmultimedia qtbase qttools",
mingw_variant="win32_mingw530",
mirror=random.choice(MIRRORS),
),
BuildJob(
"install-qt",
"5.13.2",
"windows",
"desktop",
"win64_msvc2015_64",
"msvc2015_64",
mirror=random.choice(MIRRORS),
),
BuildJob(
"install-qt",
"5.15.2",
"windows",
"desktop",
"win64_mingw81",
"mingw81_64",
mingw_variant="win64_mingw810",
mirror=random.choice(MIRRORS),
),
# Known issue with Azure-Pipelines environment: it has a pre-installed mingw81 which cause link error.
# BuildJob('install', '5.15.0', 'windows', 'desktop', 'win32_mingw81', 'mingw81_32', mirror=MIRROR),
BuildJob(
"install-qt",
"5.15.2",
"windows",
"desktop",
"win64_msvc2019_64",
"msvc2019_64",
module="qtcharts qtnetworkauth",
mirror=random.choice(MIRRORS),
),
BuildJob(
"install-qt",
"5.11.3",
"windows",
"desktop",
"win32_msvc2015",
"msvc2015",
subarchives="qtwinextras qtmultimedia qtbase qttools",
mirror=random.choice(MIRRORS),
),
BuildJob(
"install-qt",
"5.9.0",
"windows",
"desktop",
"win64_msvc2015_64",
"msvc2015_64",
module="qtcharts qtnetworkauth",
mirror=random.choice(MIRRORS),
),
BuildJob(
"install-qt",
"5.14.2",
"windows",
"desktop",
"win64_mingw73",
"mingw73_64",
mingw_variant="win64_mingw730",
spec=">1,<5.15", # Don't redirect output! Must be wrapped in quotes!
mirror=random.choice(MIRRORS),
),
BuildJob(
"install-qt",
"6.5.2",
"windows", "windows",
"desktop", "desktop",
"win64_msvc2019_arm64", "win64_msvc2019_arm64",
@@ -232,28 +150,7 @@ windows_build_jobs.extend(
# Extra modules test # Extra modules test
linux_build_jobs.extend( linux_build_jobs.extend(
[ [
BuildJob( BuildJob(
"install-qt",
"5.15.2",
"linux",
"desktop",
"gcc_64",
"gcc_64",
module="qtcharts qtnetworkauth",
),
BuildJob(
"install-qt", "5.14.2", "linux", "desktop", "gcc_64", "gcc_64", module="all"
),
BuildJob(
"install-qt",
"5.15.2",
"linux",
"desktop",
"gcc_64",
"gcc_64",
subarchives="qtbase qttools qt icu qttools",
),
BuildJob(
# Archives stored as .7z # Archives stored as .7z
"install-src", "6.1.0", "linux", "desktop", "gcc_64", "gcc_64", subarchives="qtlottie", "install-src", "6.1.0", "linux", "desktop", "gcc_64", "gcc_64", subarchives="qtlottie",
# Fail the job if this path does not exist: # Fail the job if this path does not exist:
@@ -267,54 +164,25 @@ linux_build_jobs.extend(
), ),
# Should install the `qtlottie` module, even though the archive `qtlottieanimation` is not specified: # Should install the `qtlottie` module, even though the archive `qtlottieanimation` is not specified:
BuildJob( BuildJob(
"install-doc", "6.1.0", "linux", "desktop", "gcc_64", "gcc_64", "install-doc", "6.1.3", "linux", "desktop", "gcc_64", "gcc_64",
subarchives="qtdoc", module="qtlottie", subarchives="qtdoc", module="qtlottie",
# Fail the job if these paths do not exist: # Fail the job if these paths do not exist:
check_output_cmd="ls -lh ./Docs/Qt-6.1.0/qtdoc/ ./Docs/Qt-6.1.0/qtlottieanimation/", check_output_cmd="ls -lh ./Docs/Qt-6.1.3/qtdoc/ ./Docs/Qt-6.1.3/qtlottieanimation/",
), ),
# Should install the `qtcharts` module, even though the archive `qtcharts` is not specified: # Should install the `qtcharts` module, even though the archive `qtcharts` is not specified:
BuildJob( BuildJob(
"install-example", "6.1.0", "linux", "desktop", "gcc_64", "gcc_64", "install-example", "6.1.3", "linux", "desktop", "gcc_64", "gcc_64",
subarchives="qtdoc", module="qtcharts", subarchives="qtdoc", module="qtcharts",
# Fail the job if these paths do not exist: # Fail the job if these paths do not exist:
check_output_cmd="ls -lh ./Examples/Qt-6.1.0/charts/ ./Examples/Qt-6.1.0/demos/ ./Examples/Qt-6.1.0/tutorials/", check_output_cmd="ls -lh ./Examples/Qt-6.1.3/charts/ ./Examples/Qt-6.1.3/demos/ ./Examples/Qt-6.1.3/tutorials/",
), ),
# test for list commands # test for list commands
BuildJob('list', '5.15.2', 'linux', 'desktop', 'gcc_64', '', spec="<6", list_options={'HAS_WASM': "True"}), BuildJob('list-qt', '6.1.0', 'linux', 'desktop', 'gcc_64', '', spec=">6.0,<6.1.1", list_options={'HAS_WASM': "False"}),
BuildJob('list', '6.1.0', 'linux', 'desktop', 'gcc_64', '', spec=">6.0,<6.1.1", list_options={'HAS_WASM': "False"}), BuildJob('list-qt', '6.1.0', 'linux', 'android', 'android_armv7', '', spec=">6.0,<6.1.1", list_options={}),
BuildJob('list', '6.1.0', 'linux', 'android', 'android_armv7', '', spec=">6.0,<6.1.1", list_options={}),
# tests run on linux but query data about other platforms
BuildJob('list', '5.14.1', 'mac', 'ios', 'ios', '', spec="<=5.14.1", list_options={}),
BuildJob('list', '5.13.1', 'windows', 'winrt', 'win64_msvc2015_winrt_x64', '', spec=">5.13.0,<5.13.2", list_options={}),
]
)
mac_build_jobs.extend(
[
BuildJob(
"install-qt",
"6.2.0",
"mac",
"desktop",
"clang_64",
"macos",
module="qtcharts qtnetworkauth",
),
BuildJob(
"install-qt",
"5.14.2",
"mac",
"desktop",
"clang_64",
"clang_64",
module="qtcharts qtnetworkauth",
),
] ]
) )
# WASM # WASM
linux_build_jobs.append(
BuildJob("install-qt", "5.14.2", "linux", "desktop", "wasm_32", "wasm_32")
)
linux_build_jobs.append( linux_build_jobs.append(
BuildJob("install-qt", "6.4.0", "linux", "desktop", "wasm_32", "wasm_32", BuildJob("install-qt", "6.4.0", "linux", "desktop", "wasm_32", "wasm_32",
is_autodesktop=True, emsdk_version="sdk-3.1.14-64bit", autodesk_arch_folder="gcc_64") is_autodesktop=True, emsdk_version="sdk-3.1.14-64bit", autodesk_arch_folder="gcc_64")
@@ -330,17 +198,11 @@ for job_queue, host, desk_arch in (
is_autodesktop=True, emsdk_version="sdk-3.1.25-64bit", autodesk_arch_folder=desk_arch) is_autodesktop=True, emsdk_version="sdk-3.1.25-64bit", autodesk_arch_folder=desk_arch)
) )
mac_build_jobs.append( mac_build_jobs.append(
BuildJob("install-qt", "5.14.2", "mac", "desktop", "wasm_32", "wasm_32") BuildJob("install-qt", "6.4.3", "mac", "desktop", "wasm_32", "wasm_32",
)
mac_build_jobs.append(
BuildJob("install-qt", "6.4.0", "mac", "desktop", "wasm_32", "wasm_32",
is_autodesktop=True, emsdk_version="sdk-3.1.14-64bit", autodesk_arch_folder="clang_64") is_autodesktop=True, emsdk_version="sdk-3.1.14-64bit", autodesk_arch_folder="clang_64")
) )
windows_build_jobs.append( windows_build_jobs.append(
BuildJob("install-qt", "5.14.2", "windows", "desktop", "wasm_32", "wasm_32") BuildJob("install-qt", "6.4.3", "windows", "desktop", "wasm_32", "wasm_32",
)
windows_build_jobs.append(
BuildJob("install-qt", "6.4.0", "windows", "desktop", "wasm_32", "wasm_32",
is_autodesktop=True, emsdk_version="sdk-3.1.14-64bit", autodesk_arch_folder="mingw_64", is_autodesktop=True, emsdk_version="sdk-3.1.14-64bit", autodesk_arch_folder="mingw_64",
mingw_variant="win64_mingw900") mingw_variant="win64_mingw900")
) )
@@ -348,16 +210,15 @@ windows_build_jobs.append(
# mobile SDK # mobile SDK
mac_build_jobs.extend( mac_build_jobs.extend(
[ [
BuildJob("install-qt", "6.4.0", "mac", "ios", "ios", "ios", module="qtsensors", is_autodesktop=True), BuildJob("install-qt", "6.4.3", "mac", "ios", "ios", "ios", module="qtsensors", is_autodesktop=True),
BuildJob("install-qt", "6.2.4", "mac", "ios", "ios", "ios", module="qtsensors", is_autodesktop=False), BuildJob("install-qt", "6.2.4", "mac", "ios", "ios", "ios", module="qtsensors", is_autodesktop=False),
BuildJob("install-qt", "6.4.1", "mac", "android", "android_armv7", "android_armv7", is_autodesktop=True), BuildJob("install-qt", "6.4.3", "mac", "android", "android_armv7", "android_armv7", is_autodesktop=True),
BuildJob("install-qt", "6.1.0", "mac", "android", "android_armv7", "android_armv7", is_autodesktop=True),
] ]
) )
linux_build_jobs.extend( linux_build_jobs.extend(
[ [
BuildJob("install-qt", "6.1.0", "linux", "android", "android_armv7", "android_armv7", is_autodesktop=True), BuildJob("install-qt", "6.1.3", "linux", "android", "android_armv7", "android_armv7", is_autodesktop=True),
BuildJob("install-qt", "6.4.1", "linux", "android", "android_arm64_v8a", "android_arm64_v8a", is_autodesktop=True), BuildJob("install-qt", "6.4.3", "linux", "android", "android_arm64_v8a", "android_arm64_v8a", is_autodesktop=True),
] ]
) )
@@ -365,36 +226,8 @@ linux_build_jobs.extend(
# This will test that the path to mingw is not hardcoded. # This will test that the path to mingw is not hardcoded.
windows_build_jobs.extend( windows_build_jobs.extend(
[ [
BuildJob("install-qt", "6.3.0", "windows", "android", "android_armv7", "android_armv7", is_autodesktop=True), BuildJob("install-qt", "6.3.2", "windows", "android", "android_armv7", "android_armv7", is_autodesktop=True),
BuildJob("install-qt", "6.4.1", "windows", "android", "android_x86_64", "android_x86_64", is_autodesktop=True), BuildJob("install-qt", "6.4.3", "windows", "android", "android_x86_64", "android_x86_64", is_autodesktop=True),
]
)
# Test binary patch of qmake
linux_build_jobs.extend(
[
# New output dir is shorter than the default value; qmake could fail to
# locate prefix dir if the value is patched wrong
BuildJob(
"install-qt",
"5.12.11",
"linux",
"desktop",
"gcc_64",
"gcc_64",
output_dir="/t/Q",
),
# New output dir is longer than the default value.
# This case is meant to work without any bugfix; if this fails, the test is setup wrong
BuildJob(
"install-qt",
"5.12.11",
"linux",
"desktop",
"gcc_64",
"gcc_64",
output_dir="/some/super/long/arbitrary/path/to" * 5,
),
] ]
) )

View File

@@ -179,7 +179,7 @@ steps:
eq(variables['Agent.OS'], 'Linux'), eq(variables['Agent.OS'], 'Linux'),
eq(variables['Agent.OS'], 'Darwin') eq(variables['Agent.OS'], 'Darwin')
), ),
ne(variables['SUBCOMMAND'], 'list'), ne(variables['SUBCOMMAND'], 'list-qt'),
ne(variables['SUBCOMMAND'], 'install-tool') ne(variables['SUBCOMMAND'], 'install-tool')
) )
displayName: Build accelbubble example application to test for android displayName: Build accelbubble example application to test for android

View File

@@ -111,7 +111,7 @@ exclude_lines = ["if __name__ == .__main__.:", "pragma: no-cover", "@abstract",
[tool.black] [tool.black]
line-length = 125 line-length = 125
target-version = ['py39'] target-version = ['py312']
[tool.isort] [tool.isort]
line_length = 125 line_length = 125
@@ -174,7 +174,7 @@ markers = [
[tool.tox] [tool.tox]
legacy_tox_ini = """ legacy_tox_ini = """
[tox] [tox]
envlist = check, docs, py{38,39,310,311,312}, py39d, mprof, fil, mypy envlist = check, docs, py{39,310,311,312,313}, mprof, fil, mypy
isolated_build = True isolated_build = True
[testenv] [testenv]
@@ -189,14 +189,14 @@ commands =
python -m pytest -vv python -m pytest -vv
[testenv:check] [testenv:check]
basepython = python3.9 basepython = python3.12
extras = check extras = check
commands = commands =
check-manifest {toxinidir} check-manifest {toxinidir}
flake8 aqt tests flake8 aqt tests
[testenv:mypy] [testenv:mypy]
basepython = python3.9 basepython = python3.12
extras = check extras = check
commands = mypy aqt commands = mypy aqt
deps = deps =
@@ -205,20 +205,14 @@ deps =
types-psutil types-psutil
[testenv:docs] [testenv:docs]
basepython = python3.9 basepython = python3.12
extras = docs extras = docs
commands = commands =
sphinx-build {posargs:-E} -W -b html docs build/docs sphinx-build {posargs:-E} -W -b html docs build/docs
sphinx-build -W -b linkcheck docs build/docs sphinx-build -W -b linkcheck docs build/docs
[testenv:py39d]
basepython = python3.9d
extras = test, debug
commands =
python3.9-dbg -m pytest -v --no-cov -R : -k "test_install"
[testenv:mprof] [testenv:mprof]
basepython = python3.9 basepython = python3.12
extras = debug extras = debug
commands = commands =
mprof run --multiprocess python -m aqt install-qt -O /tmp -d /tmp linux desktop 6.2.1 mprof run --multiprocess python -m aqt install-qt -O /tmp -d /tmp linux desktop 6.2.1
@@ -228,7 +222,7 @@ deps =
matplotlib matplotlib
[testenv:fil] [testenv:fil]
basepython = python3.9 basepython = python3.12
extras = debug extras = debug
commands = commands =
fil-profile run -m aqt install-qt -O /tmp -d /tmp linux desktop 6.2.1 fil-profile run -m aqt install-qt -O /tmp -d /tmp linux desktop 6.2.1
@@ -244,9 +238,9 @@ commands =
[gh-actions] [gh-actions]
python = python =
3.8: py38 3.9: py39
3.9: py39, docs, check, mypy
3.10: py310 3.10: py310
3.11: py311 3.11: py311
3.12: py312 3.12: py312, docs, check, mypy
3.13-dev: py313
""" """