mirror of
https://github.com/miurahr/aqtinstall.git
synced 2025-12-17 20:54:38 +03:00
CI: refactor azure pipelines scripts (#250)
* CI: refactoring Azure pipeline scripts Signed-off-by: Hiroshi Miura <miurahr@linux.com> * CI: azure (wip) Signed-off-by: Hiroshi Miura <miurahr@linux.com> * Add list command Signed-off-by: Hiroshi Miura <miurahr@linux.com> * CI: skip installation of package when install command(linux) Signed-off-by: Hiroshi Miura <miurahr@linux.com> * fix typo Signed-off-by: Hiroshi Miura <miurahr@linux.com>
This commit is contained in:
@@ -5,15 +5,20 @@ import collections
|
||||
import json
|
||||
from itertools import product
|
||||
|
||||
MIRROR = "http://mirrors.ocf.berkeley.edu/qt/"
|
||||
|
||||
|
||||
class BuildJob:
|
||||
def __init__(self, qt_version, host, target, arch, archdir, module=None):
|
||||
def __init__(self, command, qt_version, host, target, arch, archdir, *, module=None, mirror=None, subarchives=None):
|
||||
self.command = command
|
||||
self.qt_version = qt_version
|
||||
self.host = host
|
||||
self.target = target
|
||||
self.arch = arch
|
||||
self.archdir = archdir
|
||||
self.module = module
|
||||
self.mirror = mirror
|
||||
self.subarchives = subarchives
|
||||
|
||||
|
||||
class PlatformBuildJobs:
|
||||
@@ -44,57 +49,62 @@ all_platform_build_jobs = [
|
||||
# Linux Desktop
|
||||
for qt_version in qt_versions:
|
||||
linux_build_jobs.append(
|
||||
BuildJob(qt_version, 'linux', 'desktop', 'gcc_64', 'gcc_64')
|
||||
BuildJob('install', qt_version, 'linux', 'desktop', 'gcc_64', 'gcc_64')
|
||||
)
|
||||
|
||||
# Mac Desktop
|
||||
for qt_version in qt_versions:
|
||||
mac_build_jobs.append(
|
||||
BuildJob(qt_version, 'mac', 'desktop', 'clang_64', "clang_64")
|
||||
BuildJob('install', qt_version, 'mac', 'desktop', 'clang_64', "clang_64")
|
||||
)
|
||||
|
||||
# Windows Desktop
|
||||
windows_build_jobs.extend(
|
||||
[
|
||||
BuildJob('5.14.2', 'windows', 'desktop', 'win64_msvc2017_64', 'msvc2017_64'),
|
||||
BuildJob('5.14.2', 'windows', 'desktop', 'win32_msvc2017', 'msvc2017'),
|
||||
BuildJob('5.13.2', 'windows', 'desktop', 'win64_msvc2015_64', 'msvc2015_64'),
|
||||
BuildJob('5.15.2', 'windows', 'desktop', 'win64_mingw81', 'mingw81_64'),
|
||||
BuildJob('install', '5.14.2', 'windows', 'desktop', 'win64_msvc2017_64', 'msvc2017_64', mirror=MIRROR),
|
||||
BuildJob('install', '5.14.2', 'windows', 'desktop', 'win32_msvc2017', 'msvc2017', mirror=MIRROR),
|
||||
BuildJob('install', '5.13.2', 'windows', 'desktop', 'win64_msvc2015_64', 'msvc2015_64', mirror=MIRROR),
|
||||
BuildJob('install', '5.15.2', 'windows', 'desktop', 'win64_mingw81', 'mingw81_64', mirror=MIRROR),
|
||||
# Known issue with Azure-Pipelines environment: it has a pre-installed mingw81 which cause link error.
|
||||
# BuildJob('5.15.0', 'windows', 'desktop', 'win32_mingw81', 'mingw81_32'),
|
||||
BuildJob('5.15.2', 'windows', 'desktop', 'win64_msvc2019_64', 'msvc2019_64', module='qcharts qtnetworkauth'),
|
||||
# BuildJob('install', '5.15.0', 'windows', 'desktop', 'win32_mingw81', 'mingw81_32', mirror=MIRROR),
|
||||
BuildJob('install', '5.15.2', 'windows', 'desktop', 'win64_msvc2019_64', 'msvc2019_64', module='qcharts qtnetworkauth', mirror=MIRROR),
|
||||
]
|
||||
)
|
||||
|
||||
# Extra modules test
|
||||
linux_build_jobs.extend(
|
||||
[
|
||||
BuildJob('5.15.2', 'linux', 'desktop', 'gcc_64', 'gcc_64', module='qcharts qtnetworkauth'),
|
||||
BuildJob('5.14.2', 'linux', 'desktop', 'gcc_64', 'gcc_64', module='all')
|
||||
BuildJob('install', '5.15.2', 'linux', 'desktop', 'gcc_64', 'gcc_64', module='qcharts qtnetworkauth'),
|
||||
BuildJob('install', '5.14.2', 'linux', 'desktop', 'gcc_64', 'gcc_64', module='all'),
|
||||
BuildJob('install', '5.15.2', 'linux', 'desktop', 'gcc_64', 'gcc_64', subarchives='qtbase qttools qt icu'),
|
||||
BuildJob('src', '6.1.0', 'linux', 'desktop', 'gcc_64', 'gcc_64', subarchives='qt'),
|
||||
BuildJob('doc', '6.1.0', 'linux', 'desktop', 'gcc_64', 'gcc_64', subarchives='qtdoc'),
|
||||
# test for list commands
|
||||
BuildJob('list', '6.1.0', 'linux', 'desktop', '', '')
|
||||
]
|
||||
)
|
||||
mac_build_jobs.append(
|
||||
BuildJob('5.14.2', 'mac', 'desktop', 'clang_64', 'clang_64', module='qcharts qtnetworkauth')
|
||||
BuildJob('install', '5.14.2', 'mac', 'desktop', 'clang_64', 'clang_64', module='qcharts qtnetworkauth')
|
||||
)
|
||||
|
||||
# WASM
|
||||
linux_build_jobs.append(
|
||||
BuildJob('5.14.2', 'linux', 'desktop', 'wasm_32', "wasm_32")
|
||||
BuildJob('install', '5.14.2', 'linux', 'desktop', 'wasm_32', "wasm_32")
|
||||
)
|
||||
mac_build_jobs.append(
|
||||
BuildJob('5.14.2', 'mac', 'desktop', 'wasm_32', "wasm_32")
|
||||
BuildJob('install', '5.14.2', 'mac', 'desktop', 'wasm_32', "wasm_32")
|
||||
)
|
||||
|
||||
# mobile SDK
|
||||
mac_build_jobs.extend(
|
||||
[
|
||||
BuildJob('5.15.2', 'mac', 'ios', 'ios', 'ios'),
|
||||
BuildJob('6.1.0', 'mac', 'android', 'android_armv7', 'android_armv7')
|
||||
BuildJob('install', '5.15.2', 'mac', 'ios', 'ios', 'ios'),
|
||||
BuildJob('install', '6.1.0', 'mac', 'android', 'android_armv7', 'android_armv7')
|
||||
]
|
||||
)
|
||||
linux_build_jobs.extend(
|
||||
[
|
||||
BuildJob('6.1.0', 'linux', 'android', 'android_armv7', 'android_armv7')
|
||||
BuildJob('install', '6.1.0', 'linux', 'android', 'android_armv7', 'android_armv7')
|
||||
]
|
||||
)
|
||||
|
||||
@@ -104,20 +114,24 @@ for platform_build_job in all_platform_build_jobs:
|
||||
matrix_dictionary = collections.OrderedDict()
|
||||
|
||||
for build_job, python_version in product(platform_build_job.build_jobs, python_versions):
|
||||
key = '{} {} for {} on {}'.format(build_job.qt_version, build_job.arch, build_job.target, build_job.host)
|
||||
key = '{} {} {} for {}'.format(build_job.command, build_job.qt_version, build_job.arch, build_job.target)
|
||||
if build_job.module:
|
||||
key = "{} ({})".format(key, build_job.module)
|
||||
if build_job.subarchives:
|
||||
key = "{} ({})".format(key, build_job.subarchives)
|
||||
matrix_dictionary[key] = collections.OrderedDict(
|
||||
[
|
||||
('PYTHON_VERSION', python_version),
|
||||
('SUBCOMMAND', build_job.command),
|
||||
('QT_VERSION', build_job.qt_version),
|
||||
('HOST', build_job.host),
|
||||
('TARGET', build_job.target),
|
||||
('ARCH', build_job.arch),
|
||||
('ARCHDIR', build_job.archdir),
|
||||
('MODULE', build_job.module if build_job.module else ''),
|
||||
("QT_BASE_MIRROR", "http://mirrors.ocf.berkeley.edu/qt/" if platform_build_job.platform == "windows" else "")
|
||||
]
|
||||
("QT_BASE_MIRROR", build_job.mirror if build_job.mirror else ''),
|
||||
("SUBARCHIVES", build_job.subarchives if build_job.subarchives else '')
|
||||
]
|
||||
)
|
||||
|
||||
matrices[platform_build_job.platform] = matrix_dictionary
|
||||
|
||||
Reference in New Issue
Block a user