mirror of
http://code.qt.io/yocto/meta-qt6.git
synced 2026-01-01 13:58:07 +00:00
Coin: add CI build instructions
CI build has 4 targets: - qemuarm64 w/o x11 - qemux86 w/o x11 - qemuarm w/ x11 - qemux86-64 w/ x11 and it builds all recipes found in the layer. Change-Id: I1b4861cb776c67710b16fcb6cac150f092925440 Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
This commit is contained in:
parent
1c03571b0b
commit
a43c7553b9
2
coin/dependencies.yaml
Normal file
2
coin/dependencies.yaml
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
dependencies:
|
||||
{}
|
||||
138
coin/module_config.yaml
Normal file
138
coin/module_config.yaml
Normal file
|
|
@ -0,0 +1,138 @@
|
|||
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]
|
||||
|
||||
machine_type:
|
||||
Build:
|
||||
cores: 8
|
||||
|
||||
environment: &environment
|
||||
type: Group
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: POKY_SHA1
|
||||
variableValue: 569b1f5d67c57de957e243997c53ec2f81dc8dfe
|
||||
- type: EnvironmentVariable
|
||||
variableName: OE_SHA1
|
||||
variableValue: 654ad8bea49f142d20b2b96c0dd44810a6be233a
|
||||
- type: EnvironmentVariable
|
||||
variableName: MACHINE
|
||||
variableValue: qemuarm64
|
||||
enable_if:
|
||||
condition: property
|
||||
property: target.arch
|
||||
equals_value: TARGET1
|
||||
- type: EnvironmentVariable
|
||||
variableName: USE_X11
|
||||
variableValue: false
|
||||
enable_if:
|
||||
condition: property
|
||||
property: target.arch
|
||||
equals_value: TARGET1
|
||||
- type: EnvironmentVariable
|
||||
variableName: MACHINE
|
||||
variableValue: qemux86
|
||||
enable_if:
|
||||
condition: property
|
||||
property: target.arch
|
||||
equals_value: TARGET2
|
||||
- type: EnvironmentVariable
|
||||
variableName: USE_X11
|
||||
variableValue: false
|
||||
enable_if:
|
||||
condition: property
|
||||
property: target.arch
|
||||
equals_value: TARGET2
|
||||
- type: EnvironmentVariable
|
||||
variableName: MACHINE
|
||||
variableValue: qemuarm
|
||||
enable_if:
|
||||
condition: property
|
||||
property: target.arch
|
||||
equals_value: TARGET3
|
||||
- type: EnvironmentVariable
|
||||
variableName: USE_X11
|
||||
variableValue: true
|
||||
enable_if:
|
||||
condition: property
|
||||
property: target.arch
|
||||
equals_value: TARGET3
|
||||
- type: EnvironmentVariable
|
||||
variableName: MACHINE
|
||||
variableValue: qemux86-64
|
||||
enable_if:
|
||||
condition: property
|
||||
property: target.arch
|
||||
equals_value: TARGET4
|
||||
- type: EnvironmentVariable
|
||||
variableName: USE_X11
|
||||
variableValue: true
|
||||
enable_if:
|
||||
condition: property
|
||||
property: target.arch
|
||||
equals_value: TARGET4
|
||||
|
||||
instructions:
|
||||
Build:
|
||||
- *environment
|
||||
- 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: ExecuteCommand
|
||||
command: ["sudo", "mkdir", "-p", "/mnt/yocto-cache"]
|
||||
userMessageOnFailure: "Could not create '/mnt/yocto-cache' directory"
|
||||
- type: ExecuteCommand
|
||||
command: ["sudo", "mount", "yocto-cache.intra.qt.io:/srv/yocto-cache", "/mnt/yocto-cache"]
|
||||
userMessageOnFailure: "Could not mount yocto cache."
|
||||
- type: WriteFile
|
||||
fileContents: |
|
||||
#!/bin/bash -xe
|
||||
|
||||
git clone git://git.yoctoproject.org/poky --reference /mnt/yocto-cache/mirror/poky.git
|
||||
(cd poky; git checkout ${POKY_SHA1})
|
||||
git clone git://github.com/openembedded/meta-openembedded --reference /mnt/yocto-cache/mirror/meta-openembedded.git
|
||||
(cd meta-openembedded; git checkout ${OE_SHA1})
|
||||
|
||||
source ./poky/oe-init-build-env
|
||||
export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE SSTATE_DIR DL_DIR"
|
||||
export DL_DIR=/mnt/yocto-cache/downloads
|
||||
export BB_GENERATE_MIRROR_TARBALLS=1
|
||||
export SSTATE_DIR=/mnt/yocto-cache/sstate-caches/$(sed -n -e "s/DISTRO_CODENAME.*\"\(.*\)\"/\1/p" ../poky/meta-*/conf/distro/poky.conf)
|
||||
bitbake-layers add-layer ../meta-openembedded/meta-oe
|
||||
bitbake-layers add-layer ${SOURCE_DIR}
|
||||
|
||||
if ! ${USE_X11} ; then
|
||||
echo "DISTRO_FEATURES_remove = \"x11\"" >> conf/local.conf
|
||||
fi
|
||||
echo "require ${SOURCE_DIR}/coin/test-configs.inc" >> conf/local.conf
|
||||
|
||||
# build all recipes found in the layer
|
||||
bitbake $(find ${SOURCE_DIR} -name *.bb | xargs -n1 basename | sed -e 's/\([^._]*\).*/\1/')
|
||||
filename: "{{.BuildDir}}/start-build"
|
||||
fileMode: 420
|
||||
- type: ExecuteCommand
|
||||
command: ["bash", "{{.BuildDir}}/start-build"]
|
||||
maxTimeInSeconds: 28800
|
||||
maxTimeBetweenOutput: 28800
|
||||
userMessageOnFailure: "Build failed."
|
||||
- type: ExecuteCommand
|
||||
command: ["sudo", "umount", "/mnt/yocto-cache"]
|
||||
userMessageOnFailure: "Unmounting cache failed."
|
||||
|
||||
Test: []
|
||||
70
coin/test-configs.inc
Normal file
70
coin/test-configs.inc
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
PREFERRED_PROVIDER_udev = "systemd"
|
||||
# use gold
|
||||
DISTRO_FEATURES_append = " ld-is-gold"
|
||||
# use systemd
|
||||
DISTRO_FEATURES_append = " systemd"
|
||||
DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"
|
||||
VIRTUAL-RUNTIME_init_manager = "systemd"
|
||||
VIRTUAL-RUNTIME_initscripts = ""
|
||||
|
||||
INHERIT += "buildstats buildstats-summary"
|
||||
INHERIT += "rm_work"
|
||||
|
||||
# fast compression of SDK tar package
|
||||
SDK_XZ_COMPRESSION_LEVEL = "-1"
|
||||
|
||||
# be more strict with QA warnings, turn them all to errors:
|
||||
EXTRA_QA = "\
|
||||
ldflags useless-rpaths rpaths staticdev libdir xorg-driver-abi \
|
||||
textrel already-stripped incompatible-license files-invalid \
|
||||
installed-vs-shipped compile-host-path install-host-path \
|
||||
pn-overrides infodir build-deps \
|
||||
unknown-configure-option symlink-to-sysroot multilib \
|
||||
invalid-packageconfig host-user-contaminated uppercase-pn \
|
||||
"
|
||||
ERROR_QA_append = "${EXTRA_QA}"
|
||||
WARN_QA_remove = "${EXTRA_QA}"
|
||||
|
||||
# enable thumb for broader test coverage (oe-core autobuilder doesn't have thumb enabled)
|
||||
PREFERRED_ARM_INSTRUCTION_SET ?= "thumb"
|
||||
ARM_INSTRUCTION_SET = "${PREFERRED_ARM_INSTRUCTION_SET}"
|
||||
|
||||
PACKAGECONFIG_append_pn-qtbase = "\
|
||||
tslib kms gbm zstd lttng libproxy gssapi vulkan mtdev cups \
|
||||
sql-mysql sql-psql sql-sqlite journald \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)} \
|
||||
"
|
||||
|
||||
# Use latest uninative package
|
||||
UNINATIVE_MAXGLIBCVERSION = "2.32"
|
||||
|
||||
UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/2.9/"
|
||||
UNINATIVE_CHECKSUM[aarch64] ?= "9f25a667aee225b1dd65c4aea73e01983e825b1cb9b56937932a1ee328b45f81"
|
||||
UNINATIVE_CHECKSUM[i686] ?= "cae5d73245d95b07cf133b780ba3f6c8d0adca3ffc4e7e7fab999961d5e24d36"
|
||||
UNINATIVE_CHECKSUM[x86_64] ?= "d07916b95c419c81541a19c8ef0ed8cbd78ae18437ff28a4c8a60ef40518e423"
|
||||
|
||||
# enable examples for all Qt modules
|
||||
PACKAGECONFIG_append_pn-qt3d = " examples"
|
||||
PACKAGECONFIG_append_pn-qt5compat = " examples"
|
||||
PACKAGECONFIG_append_pn-qtbase = " examples"
|
||||
PACKAGECONFIG_append_pn-qtcoap = " examples"
|
||||
PACKAGECONFIG_append_pn-qtdeclarative = " examples"
|
||||
PACKAGECONFIG_append_pn-qtgraphicaleffects = " examples"
|
||||
PACKAGECONFIG_append_pn-qtimageformats = " examples"
|
||||
PACKAGECONFIG_append_pn-qtmqtt = " examples"
|
||||
PACKAGECONFIG_append_pn-qtnetworkauth = " examples"
|
||||
PACKAGECONFIG_append_pn-qtopcua = " examples"
|
||||
PACKAGECONFIG_append_pn-qtquick3d = " examples"
|
||||
PACKAGECONFIG_append_pn-qtquickcontrols2 = " examples"
|
||||
PACKAGECONFIG_append_pn-qtquicktimeline = " examples"
|
||||
PACKAGECONFIG_append_pn-qtscxml = " examples"
|
||||
PACKAGECONFIG_append_pn-qtserialbus = " examples"
|
||||
PACKAGECONFIG_append_pn-qtserialport = " examples"
|
||||
PACKAGECONFIG_append_pn-qtshadertools = " examples"
|
||||
PACKAGECONFIG_append_pn-qtspeech = " examples"
|
||||
PACKAGECONFIG_append_pn-qtsvg = " examples"
|
||||
PACKAGECONFIG_append_pn-qttools = " examples"
|
||||
PACKAGECONFIG_append_pn-qttranslations = " examples"
|
||||
PACKAGECONFIG_append_pn-qtvirtualkeyboard = " examples"
|
||||
PACKAGECONFIG_append_pn-qtwayland = " examples"
|
||||
PACKAGECONFIG_append_pn-qtwebsockets = " examples"
|
||||
Loading…
Reference in New Issue
Block a user