summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKatja Marttila <katja.marttila@qt.io>2021-02-17 13:54:48 +0200
committerKatja Marttila <katja.marttila@qt.io>2021-03-12 14:39:40 +0200
commitb477c56e9a528db9bf9fa30c1be41be08011da32 (patch)
treef2ebafd0f052470d19ee1c118c157e47d2889cbb
parent7b9235b16fe5f6a0e72a03724b1533c10364fa77 (diff)
Add installer generation to make_instructions.yaml
Change-Id: Ief0885c94e7497de834e6f6de14bd485244e8ab0 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
-rwxr-xr-xcoin/create_ifw_installer.py2
-rw-r--r--coin/instructions/common_environment.yaml5
-rw-r--r--coin/instructions/make_instructions.yaml80
-rw-r--r--coin/instructions/qmake_module_build.yaml10
-rw-r--r--coin/qt-installer-package-config.json8
5 files changed, 103 insertions, 2 deletions
diff --git a/coin/create_ifw_installer.py b/coin/create_ifw_installer.py
index aacb6adeb..6da4f1d16 100755
--- a/coin/create_ifw_installer.py
+++ b/coin/create_ifw_installer.py
@@ -76,7 +76,7 @@ def create_installer_package(src_dir: str, bld_dir: str, target_dir: str, target
check_call(["strip", os.path.join(package_dir, 'bin/repogen')])
# Copy remaining payload to package dir
- shutil.copytree(os.path.join(bld_dir, 'doc'), os.path.join(package_dir, 'doc'))
+ shutil.copytree(os.path.join(bld_dir, 'doc/html'), os.path.join(package_dir, 'doc/html'))
shutil.copytree(os.path.join(src_dir, 'examples'), os.path.join(package_dir, 'examples'))
shutil.copy(os.path.join(src_dir, 'README'), package_dir)
diff --git a/coin/instructions/common_environment.yaml b/coin/instructions/common_environment.yaml
index 4bef13a71..c3fd59f15 100644
--- a/coin/instructions/common_environment.yaml
+++ b/coin/instructions/common_environment.yaml
@@ -62,3 +62,8 @@ instructions:
condition: property
property: host.os
equals_value: Linux
+ - type: Group
+ instructions:
+ - type: EnvironmentVariable
+ variableName: PACKAGING_KEYS_CONFIG_URL
+ variableValue: "http://ci-files01-hki.intra.qt.io/input/semisecure/packaging/packaging_secure.ini"
diff --git a/coin/instructions/make_instructions.yaml b/coin/instructions/make_instructions.yaml
index f9f1dd406..003e9d746 100644
--- a/coin/instructions/make_instructions.yaml
+++ b/coin/instructions/make_instructions.yaml
@@ -81,8 +81,77 @@ instructions:
property: target.compiler
in_values: [MSVC2013, MSVC2015, MSVC2017, MSVC2019]
+ - type: Group
+ instructions:
+ - type: ChangeDirectory
+ directory: "{{.InstallRoot}}/{{.AgentWorkingDir}}"
+ - type: ExecuteCommand
+ command: "python3 {{.SourceDir}}/coin/create_ifw_installer.py --src-dir {{.SourceDir}} --bld-dir {{.SourceDir}} --target-dir {{.SourceDir}} --target-name QtInstallerFramework-linux-x64-4.1.0.run"
+ maxTimeInSeconds: 36000
+ maxTimeBetweenOutput: 3600
+ userMessageOnFailure: "Failed to create ifw installer."
+ - type: Rename
+ sourcePath: "{{.SourceDir}}/QtInstallerFramework-linux-x64-4.1.0.run"
+ targetPath: "{{.InstallRoot}}/{{.AgentWorkingDir}}/QtInstallerFramework-linux-x64-4.1.0.run"
+ userMessageOnFailure: "Failed to copy installer."
+ enable_if:
+ condition: and
+ conditions:
+ - condition: property
+ property: host.os
+ equals_value: Linux
+
+ - type: Group
+ instructions:
+ - type: ChangeDirectory
+ directory: "{{.InstallRoot}}/{{.AgentWorkingDir}}"
+ - type: ExecuteCommand
+ command: "python3 {{.SourceDir}}/coin/create_ifw_installer.py --src-dir {{.SourceDir}} --bld-dir {{.SourceDir}} --target-dir {{.SourceDir}} --target-name QtInstallerFramework-macOS-x86_64-4.1.0.app"
+ maxTimeInSeconds: 36000
+ maxTimeBetweenOutput: 3600
+ userMessageOnFailure: "Failed to create ifw installer."
+ - type: EnvironmentVariable
+ variableName: QT_CODESIGN_IDENTITY_KEY
+ variableValue: "A5GTH44LYL"
+ - type: ExecuteCommand
+ command: "{{.AgentWorkingDir}}/qtsdk/qtsdk/packaging-tools/sign_installer.py mac --file={{.SourceDir}}/QtInstallerFramework-macOS-x86_64-4.1.0.app"
+ maxTimeInSeconds: 36000
+ maxTimeBetweenOutput: 3600
+ userMessageOnFailure: "Failed to sign the ifw installer"
+ - type: ExecuteCommand
+ command: "{{.AgentWorkingDir}}/qtsdk/qtsdk/packaging-tools/notarize.py --dmg={{.SourceDir}}/QtInstallerFramework-macOS-x86_64-4.1.0.dmg"
+ maxTimeInSeconds: 36000
+ maxTimeBetweenOutput: 3600
+ userMessageOnFailure: "Failed to notarize the ifw installer"
+ - type: Rename
+ sourcePath: "{{.SourceDir}}/QtInstallerFramework-macOS-x86_64-4.1.0.dmg"
+ targetPath: "{{.InstallRoot}}/{{.AgentWorkingDir}}/QtInstallerFramework-macOS-x86_64-4.1.0.dmg"
+ userMessageOnFailure: "Failed to copy installer."
+ enable_if:
+ condition: and
+ conditions:
+ - condition: property
+ property: host.os
+ equals_value: MacOS
+
+ - type: Group
+ instructions:
+ - type: ChangeDirectory
+ directory: "{{.SourceDir}}"
+ - type: ExecuteCommand
+ command: "{{.Env.PYTHON3_PATH}}\\python {{.SourceDir}}\\coin\\create_ifw_installer.py --src-dir {{.SourceDir}} --bld-dir {{.SourceDir}} --target-dir C:\\{{.SourceDir}} --target-name QtInstallerFramework-windows-x86-4.1.0"
+ maxTimeInSeconds: 1200
+ maxTimeBetweenOutput: 1200
+ userMessageOnFailure: "Failed to create ifw installer."
+ enable_if:
+ condition: and
+ conditions:
+ - condition: property
+ property: host.os
+ equals_value: Windows
+
- type: SignPackage
- directory: "{{.InstallRoot}}/{{.AgentWorkingDir}}"
+ directory: "{{.SourceDir}}"
maxTimeInSeconds: 1200
maxTimeBetweenOutput: 1200
enable_if:
@@ -90,6 +159,15 @@ instructions:
property: host.os
equals_value: Windows
+ - type: Rename
+ sourcePath: "{{.SourceDir}}/QtInstallerFramework-windows-x86-4.1.0.exe"
+ targetPath: "{{.InstallRoot}}/{{.AgentWorkingDir}}/QtInstallerFramework-windows-x86-4.1.0.exe"
+ userMessageOnFailure: "Failed to copy installer."
+ enable_if:
+ condition: property
+ property: host.os
+ equals_value: Windows
+
- type: UploadArtifact
archiveDirectory: "{{.InstallRoot}}/{{.AgentWorkingDir}}"
transferType: UploadModuleBuildArtifact
diff --git a/coin/instructions/qmake_module_build.yaml b/coin/instructions/qmake_module_build.yaml
index 120a7745f..37ff0f396 100644
--- a/coin/instructions/qmake_module_build.yaml
+++ b/coin/instructions/qmake_module_build.yaml
@@ -3,6 +3,16 @@ instructions:
- type: MakeDirectory
directory: ".git"
+ - type: Group
+ instructions:
+ - type: InstallSourceArchive
+ maxTimeInSeconds: 600
+ maxTimeBetweenOutput: 600
+ project: qtsdk/qtsdk
+ ref: master
+ directory: qtsdk/qtsdk
+ userMessageOnFailure: "Could not install qtsdk/qtsdk source archive. Please investigate why."
+
- type: SetBuildDirectory
directory: "{{.SourceDir}}"
disable_if:
diff --git a/coin/qt-installer-package-config.json b/coin/qt-installer-package-config.json
new file mode 100644
index 000000000..563110519
--- /dev/null
+++ b/coin/qt-installer-package-config.json
@@ -0,0 +1,8 @@
+{
+ "version": "1",
+ "module-split": {
+ "__extract__": [
+ "**/*QtInstallerFramework-*"
+ ]
+ }
+}