summaryrefslogtreecommitdiffstats
path: root/coin
diff options
context:
space:
mode:
authorToni Saario <toni.saario@qt.io>2022-10-12 14:15:32 +0300
committerSimo Fält <simo.falt@qt.io>2023-04-19 17:11:34 +0300
commit0685b5b9b0a64cea6ddf3b4ec9f3f6d103766654 (patch)
treee62f157b623827a52e9cba7c2091a5dd70665b65 /coin
parenta3f2857ebc0792114a0cf52b62532d73e8d5a338 (diff)
COIN: Add initial set of Debian packaging instructions
Task-number: COIN-954 Change-Id: I3373d51733048689375d3272afd3864380519e3c Reviewed-by: Toni Saario <toni.saario@qt.io>
Diffstat (limited to 'coin')
-rw-r--r--coin/instructions/coin_module_build_template_v2.yaml15
-rw-r--r--coin/instructions/coin_qtbase_build_template_v2.yaml16
-rw-r--r--coin/instructions/debian/debian_build_module.yaml102
-rw-r--r--coin/instructions/debian/prepare_debian_env.yaml102
4 files changed, 235 insertions, 0 deletions
diff --git a/coin/instructions/coin_module_build_template_v2.yaml b/coin/instructions/coin_module_build_template_v2.yaml
index 14c8555854..ccd9f97413 100644
--- a/coin/instructions/coin_module_build_template_v2.yaml
+++ b/coin/instructions/coin_module_build_template_v2.yaml
@@ -24,6 +24,9 @@ instructions:
- condition: property
property: features
not_contains_value: "TargetBuildOnly"
+ - condition: property
+ property: features
+ not_contains_value: "DebianPackaging"
- type: Group
instructions:
- !include "{{qt/qtbase}}/cmake_cross_compilation_module_build_instructions.yaml"
@@ -48,3 +51,15 @@ instructions:
- condition: property
property: target.arch
equals_value: ARM64
+ - condition: property
+ property: features
+ not_contains_value: "DebianPackaging"
+ - type: Group
+ instructions:
+ - type: Group
+ instructions:
+ - !include "{{qt/qtbase}}/debian/debian_build_module.yaml"
+ enable_if:
+ condition: property
+ property: features
+ contains_value: "DebianPackaging"
diff --git a/coin/instructions/coin_qtbase_build_template_v2.yaml b/coin/instructions/coin_qtbase_build_template_v2.yaml
index a0edaa8e7c..94b07f09a8 100644
--- a/coin/instructions/coin_qtbase_build_template_v2.yaml
+++ b/coin/instructions/coin_qtbase_build_template_v2.yaml
@@ -17,6 +17,10 @@ instructions:
- condition: property
property: features
not_contains_value: "TargetBuildOnly"
+ - condition: property
+ property: features
+ not_contains_value: "DebianPackaging"
+
- type: Group
instructions:
- type: Group
@@ -53,3 +57,15 @@ instructions:
- condition: property
property: target.arch
equals_value: ARM64
+ - condition: property
+ property: features
+ not_contains_value: "DebianPackaging"
+ - type: Group
+ instructions:
+ - type: Group
+ instructions:
+ - !include "{{qt/qtbase}}/debian/debian_build_module.yaml"
+ enable_if:
+ condition: property
+ property: features
+ contains_value: "DebianPackaging"
diff --git a/coin/instructions/debian/debian_build_module.yaml b/coin/instructions/debian/debian_build_module.yaml
new file mode 100644
index 0000000000..4591ddd5ea
--- /dev/null
+++ b/coin/instructions/debian/debian_build_module.yaml
@@ -0,0 +1,102 @@
+type: Group
+enable_if:
+ condition: property
+ property: features
+ contains_value: DebianPackaging
+instructions:
+ - !include "{{qt/qtbase}}/debian/prepare_debian_env.yaml"
+ - type: EnvironmentVariable
+ variableName: GIT_SSH_COMMAND
+ variableValue: "ssh -o StrictHostKeyChecking=no"
+ - type: ChangeDirectory
+ directory: "{{.AgentWorkingDir}}"
+ - type: MakeDirectory
+ directory: output/debian_packages
+ - type: MakeDirectory
+ directory: debian_packages
+ - type: ExecuteCommand
+ command: "git clone git@git.qt.io:tqtc-debian/package_generator.git"
+ maxTimeInSeconds: 900
+ maxTimeBetweenOutput: 900
+ userMessageOnFailure: "Failed to clone package generator repo"
+ disable_if:
+ condition: runtime
+ env_var: COIN_SKIP_DEBIAN
+ contains_value: "MISSING_DEBIAN_INST"
+ - type: ExecuteCommand
+ command: "git clone -b 6.6 git@git.qt.io:tqtc-debian/qt6-{{.Env.TESTED_MODULE_PLAIN_COIN}}.git"
+ maxTimeInSeconds: 900
+ maxTimeBetweenOutput: 900
+ userMessageOnFailure: "Failed to clone debian packaging repo"
+ disable_if:
+ condition: runtime
+ env_var: COIN_SKIP_DEBIAN
+ contains_value: "MISSING_DEBIAN_INST"
+ - type: ExecuteCommand
+ command: "wget -q {{.CoinDownloadURL}}/{{.Env.MODULE_SOURCES_RELATIVE_STORAGE_PATH}}"
+ maxTimeInSeconds: 900
+ maxTimeBetweenOutput: 900
+ userMessageOnFailure: "Failed get sources"
+ disable_if:
+ condition: runtime
+ env_var: COIN_SKIP_DEBIAN
+ contains_value: "MISSING_DEBIAN_INST"
+ - type: ExecuteCommand
+ command: "mv sources_unix.tar.gz qt-{{.Env.QT_REPO_MODULE_VERSION}}-{{.Env.TESTED_MODULE_PLAIN_COIN}}-src_{{.Env.QT_REPO_MODULE_VERSION}}.orig.tar.gz"
+ maxTimeInSeconds: 900
+ maxTimeBetweenOutput: 900
+ userMessageOnFailure: "Failed rename src pkg"
+ disable_if:
+ condition: runtime
+ env_var: COIN_SKIP_DEBIAN
+ contains_value: "MISSING_DEBIAN_INST"
+ - type: ChangeDirectory
+ directory: "{{.AgentWorkingDir}}/qt6-{{.Env.TESTED_MODULE_PLAIN_COIN}}"
+ disable_if:
+ condition: runtime
+ env_var: COIN_SKIP_DEBIAN
+ contains_value: "MISSING_DEBIAN_INST"
+
+
+ # rc is required currently by the script
+ - type: ExecuteCommand
+ command: "../package_generator/generate_packaging.sh --qt-version {{.Env.QT_REPO_MODULE_VERSION}} --deb-rev 1 --release tqtc-focal"
+ maxTimeInSeconds: 900
+ maxTimeBetweenOutput: 900
+ userMessageOnFailure: "Failed to generate pkg"
+ disable_if:
+ condition: runtime
+ env_var: COIN_SKIP_DEBIAN
+ contains_value: "MISSING_DEBIAN_INST"
+ - type: ChangeDirectory
+ directory: "{{.AgentWorkingDir}}"
+ - type: ExecuteCommand
+ command: "dpkg-source -b qt6-{{.Env.TESTED_MODULE_PLAIN_COIN}}"
+ maxTimeInSeconds: 900
+ maxTimeBetweenOutput: 900
+ userMessageOnFailure: "Failed dpkg-source"
+ disable_if:
+ condition: runtime
+ env_var: COIN_SKIP_DEBIAN
+ contains_value: "MISSING_DEBIAN_INST"
+ - type: ExecuteCommand
+ command: ["sbuild",
+ "--build-dep-resolver=aptitude",
+ "-sAd", "tqtc-focal",
+ "-c", "{{.Env.COIN_SBUILD_CHROOT}}",
+ "--build-dir", "output/debian_packages",
+ "--extra-package={{.AgentWorkingDir}}/debian_packages/",
+ "--extra-package={{.AgentWorkingDir}}/output/debian_packages/",
+ "qt-{{.Env.QT_REPO_MODULE_VERSION}}-{{.Env.TESTED_MODULE_PLAIN_COIN}}-src_{{.Env.QT_REPO_MODULE_VERSION}}-1.dsc"]
+ maxTimeInSeconds: 18000
+ maxTimeBetweenOutput: 1800
+ userMessageOnFailure: "Failed build debian packages"
+ disable_if:
+ condition: runtime
+ env_var: COIN_SKIP_DEBIAN
+ contains_value: "MISSING_DEBIAN_INST"
+ - type: UploadArtifact
+ archiveDirectory: "{{.AgentWorkingDir}}/output"
+ transferType: UploadModuleBuildArtifact
+ maxTimeInSeconds: 1200
+ maxTimeBetweenOutput: 1200
diff --git a/coin/instructions/debian/prepare_debian_env.yaml b/coin/instructions/debian/prepare_debian_env.yaml
new file mode 100644
index 0000000000..aa23576cf3
--- /dev/null
+++ b/coin/instructions/debian/prepare_debian_env.yaml
@@ -0,0 +1,102 @@
+type: Group
+enable_if:
+ condition: property
+ property: features
+ contains_value: DebianPackaging
+instructions:
+ - type: EnvironmentVariable
+ variableName: COIN_SBUILD_CHROOT
+ variableValue: "stable-arm64-sbuild"
+ enable_if:
+ condition: property
+ property: target.arch
+ equals_value: AARCH64
+ - type: EnvironmentVariable
+ variableName: COIN_SBUILD_CHROOT
+ variableValue: "stable-amd64-sbuild"
+ disable_if:
+ condition: property
+ property: target.arch
+ equals_value: AARCH64
+ - type: EnvironmentVariable
+ variableName: COIN_SBUILD_DISTRO
+ variableValue: "arm64-focal"
+ enable_if:
+ condition: property
+ property: target.arch
+ equals_value: AARCH64
+ - type: EnvironmentVariable
+ variableName: COIN_SBUILD_DISTRO
+ variableValue: "amd64-focal"
+ disable_if:
+ condition: property
+ property: target.arch
+ equals_value: AARCH64
+
+ - type: EnvironmentVariable
+ variableName: COIN_SKIP_DEBIAN
+ variableValue: "MISSING_DEBIAN_INST"
+ enable_if:
+ condition: or
+ conditions:
+ - condition: runtime
+ env_var: TESTED_MODULE_COIN
+ equals_value: "qtquick3dphysics"
+ - condition: runtime
+ env_var: TESTED_MODULE_COIN
+ equals_value: "qtquickeffectmaker"
+ - condition: runtime
+ env_var: TESTED_MODULE_COIN
+ equals_value: "qtspeech"
+ - condition: runtime
+ env_var: TESTED_MODULE_COIN
+ equals_value: "qtlocation"
+ - condition: runtime
+ env_var: TESTED_MODULE_COIN
+ equals_value: "qthttpserver"
+ - condition: runtime
+ env_var: TESTED_MODULE_COIN
+ equals_value: "qtactiveqt"
+ - condition: runtime
+ env_var: TESTED_MODULE_COIN
+ equals_value: "qtcoap"
+ - condition: runtime
+ env_var: TESTED_MODULE_COIN
+ equals_value: "qtmqtt"
+ - condition: runtime
+ env_var: TESTED_MODULE_COIN
+ equals_value: "qtopcua"
+ - condition: runtime
+ env_var: TESTED_MODULE_COIN
+ equals_value: "qtgrpc"
+ - condition: runtime
+ env_var: TESTED_MODULE_COIN
+ equals_value: "qtqa"
+ - condition: runtime
+ env_var: TESTED_MODULE_COIN
+ equals_value: "qtdoc"
+ - condition: runtime
+ env_var: TESTED_MODULE_COIN
+ equals_value: "qt5"
+ # Set version info to environment
+ - type: ParseEnvironmentVariableFromFile
+ regex: "QT_REPO_MODULE_VERSION \"(?P<QT_REPO_MODULE_VERSION>.*)\""
+ filename: "{{.SourceDir}}/.cmake.conf"
+ maxTimeInSeconds: 300
+ maxTimeBetweenOutput: 300
+ userMessageOnFailure: "Failed to parse version information from .cmake.conf"
+ disable_if:
+ condition: runtime
+ env_var: TESTED_MODULE_COIN
+ equals_value: "qt5"
+ - type: ParseEnvironmentVariableFromFile
+ regex: "QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT \"(?P<QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT>.*)\""
+ filename: "{{.SourceDir}}/.cmake.conf"
+ maxTimeInSeconds: 300
+ maxTimeBetweenOutput: 300
+ userMessageOnFailure: "Failed to parse status information from .cmake.conf"
+ disable_if:
+ condition: runtime
+ env_var: TESTED_MODULE_COIN
+ equals_value: "qt5"
+