mirror of
http://code.qt.io/yocto/meta-qt6.git
synced 2026-01-01 13:58:07 +00:00
Add CI build using Yocto kirkstone branches and retire hardknott build in favor of it. Hardknott is EOL on April 2022. Only dev branch will continue to be tested against Yocto master. Change-Id: I9aad0e14c1a5054b2e9eab85ec8a2f2d603f6427 Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
171 lines
4.9 KiB
YAML
171 lines
4.9 KiB
YAML
version: 2
|
|
accept_configuration:
|
|
condition: and
|
|
conditions:
|
|
- condition: property
|
|
property: host.compiler
|
|
equals_value: Yocto
|
|
- condition: property
|
|
property: target.arch
|
|
in_values: [TARGET1, TARGET2, TARGET3, TARGET4, TARGET5]
|
|
|
|
machine_type:
|
|
Build:
|
|
cores: 16
|
|
|
|
# Target build matrix:
|
|
#
|
|
# [target1] [target2] [target3] [target4] [target5]
|
|
# [machine] qemuarm64 qemux86 qemuarm qemux86-64 qemuarm64
|
|
# [yocto] kirkstone honister master dunfell master
|
|
# [X11] no no yes yes no
|
|
# [mingw] no yes no no no
|
|
# [static] no no no no yes
|
|
#
|
|
|
|
target1: &target1
|
|
type: Group
|
|
instructions:
|
|
- type: EnvironmentVariable
|
|
variableName: MACHINE
|
|
variableValue: qemuarm64
|
|
- type: EnvironmentVariable
|
|
variableName: MANIFEST
|
|
variableValue: kirkstone.xml
|
|
- type: EnvironmentVariable
|
|
variableName: TEST_CONFIGS
|
|
variableValue: ci configs post-inclusive wayland
|
|
enable_if:
|
|
condition: property
|
|
property: target.arch
|
|
equals_value: TARGET1
|
|
target2: &target2
|
|
type: Group
|
|
instructions:
|
|
- type: EnvironmentVariable
|
|
variableName: MACHINE
|
|
variableValue: qemux86
|
|
- type: EnvironmentVariable
|
|
variableName: MANIFEST
|
|
variableValue: honister.xml
|
|
- type: EnvironmentVariable
|
|
variableName: TEST_CONFIGS
|
|
variableValue: ci configs pre-inclusive wayland mingw
|
|
enable_if:
|
|
condition: property
|
|
property: target.arch
|
|
equals_value: TARGET2
|
|
target3: &target3
|
|
type: Group
|
|
instructions:
|
|
- type: EnvironmentVariable
|
|
variableName: MACHINE
|
|
variableValue: qemuarm
|
|
- type: EnvironmentVariable
|
|
variableName: MANIFEST
|
|
variableValue: master.xml
|
|
- type: EnvironmentVariable
|
|
variableName: TEST_CONFIGS
|
|
variableValue: ci configs post-inclusive
|
|
enable_if:
|
|
condition: property
|
|
property: target.arch
|
|
equals_value: TARGET3
|
|
target4: &target4
|
|
type: Group
|
|
instructions:
|
|
- type: EnvironmentVariable
|
|
variableName: MACHINE
|
|
variableValue: qemux86-64
|
|
- type: EnvironmentVariable
|
|
variableName: MANIFEST
|
|
variableValue: dunfell.xml
|
|
- type: EnvironmentVariable
|
|
variableName: TEST_CONFIGS
|
|
variableValue: ci configs pre-inclusive no-webengine
|
|
enable_if:
|
|
condition: property
|
|
property: target.arch
|
|
equals_value: TARGET4
|
|
target5: &target5
|
|
type: Group
|
|
instructions:
|
|
- type: EnvironmentVariable
|
|
variableName: MACHINE
|
|
variableValue: qemuarm64
|
|
- type: EnvironmentVariable
|
|
variableName: MANIFEST
|
|
variableValue: master.xml
|
|
- type: EnvironmentVariable
|
|
variableName: TEST_CONFIGS
|
|
variableValue: ci configs post-inclusive wayland static no-webengine
|
|
enable_if:
|
|
condition: property
|
|
property: target.arch
|
|
equals_value: TARGET5
|
|
|
|
instructions:
|
|
Build:
|
|
- *target1
|
|
- *target2
|
|
- *target3
|
|
- *target4
|
|
- *target5
|
|
- type: EnvironmentVariable
|
|
variableName: DL_DIR
|
|
variableValue: "/mnt/yocto-cache/downloads"
|
|
- type: EnvironmentVariable
|
|
variableName: SOURCE_DIR
|
|
variableValue: "{{.SourceDir}}"
|
|
- type: SetBuildDirectory
|
|
directory: "{{.AgentWorkingDir}}/build"
|
|
- type: MakeDirectory
|
|
directory: "{{.BuildDir}}"
|
|
- type: ChangeDirectory
|
|
directory: "{{.BuildDir}}"
|
|
- type: WriteFile
|
|
fileContents: |
|
|
#!/bin/bash -xe
|
|
|
|
# make hostname unique for NFS
|
|
sudo hostname $(hostname -s)-$(date +%s%N)
|
|
|
|
sudo mkdir -p /mnt/yocto-cache
|
|
sudo mount yocto-cache.ci.qt.io:/srv/yocto-cache /mnt/yocto-cache
|
|
|
|
curl https://storage.googleapis.com/git-repo-downloads/repo > repo
|
|
chmod +x repo
|
|
|
|
./repo init \
|
|
-u git://code.qt.io/yocto/boot2qt-manifest \
|
|
-b ci \
|
|
-m ${MANIFEST} \
|
|
--reference /mnt/mirror
|
|
./repo sync
|
|
|
|
source ./poky/oe-init-build-env
|
|
bitbake-layers add-layer ../meta-openembedded/meta-oe
|
|
bitbake-layers add-layer ../meta-openembedded/meta-python
|
|
bitbake-layers add-layer ../meta-openembedded/meta-multimedia
|
|
bitbake-layers add-layer ../meta-mingw
|
|
bitbake-layers add-layer ${SOURCE_DIR}
|
|
|
|
for conf in ${TEST_CONFIGS}; do
|
|
echo "require ${SOURCE_DIR}/coin/test-${conf}.inc" >> conf/local.conf
|
|
done
|
|
|
|
# build toolchain which should include all supported recipes
|
|
bitbake meta-toolchain-qt6 nativesdk-packagegroup-qt6-toolchain-host packagegroup-qt6-modules
|
|
filename: "{{.BuildDir}}/start-build"
|
|
fileMode: 420
|
|
- type: ExecuteCommand
|
|
command: ["bash", "-xe", "{{.BuildDir}}/start-build"]
|
|
maxTimeInSeconds: 43200
|
|
maxTimeBetweenOutput: 7200
|
|
userMessageOnFailure: "Build failed."
|
|
- type: ExecuteCommand
|
|
command: ["sudo", "umount", "/mnt/yocto-cache"]
|
|
userMessageOnFailure: "Unmounting cache failed."
|
|
|
|
Test: []
|