aboutsummaryrefslogtreecommitdiffstats
path: root/coin
diff options
context:
space:
mode:
Diffstat (limited to 'coin')
-rw-r--r--coin/module_config.yaml102
-rw-r--r--coin/test-configs.inc83
2 files changed, 185 insertions, 0 deletions
diff --git a/coin/module_config.yaml b/coin/module_config.yaml
new file mode 100644
index 00000000..7af8e30a
--- /dev/null
+++ b/coin/module_config.yaml
@@ -0,0 +1,102 @@
+version: 1
+accept_configuration:
+ condition: and
+ conditions:
+ - condition: property
+ property: host.osVersion
+ equals_value: Ubuntu_18_04
+ - condition: property
+ property: target.osVersion
+ equals_value: QEMU
+ - condition: property
+ property: target.arch
+ in_values: [ARMv7, ARM64]
+
+environment: &environment
+ type: Group
+ instructions:
+ - type: EnvironmentVariable
+ variableName: POKY_SHA1
+ variableValue: febbe2944c0c4a04b85fa98fdc261186115954d8
+ - type: EnvironmentVariable
+ variableName: OE_SHA1
+ variableValue: 8a72d29e0876830ffd96b85d7d0308302eb07a5d
+ - type: EnvironmentVariable
+ variableName: PYTHON2_SHA1
+ variableValue: e2ef0dd8fa13d6b96e44773b09d07e4817d0a44d
+ - type: EnvironmentVariable
+ variableName: MACHINE
+ variableValue: qemuarm64
+ enable_if:
+ condition: property
+ property: target.arch
+ equals_value: ARM64
+ - type: EnvironmentVariable
+ variableName: MACHINE
+ variableValue: qemux86
+ enable_if:
+ condition: property
+ property: target.arch
+ equals_value: ARMv7
+
+build_instructions:
+ - *environment
+ - 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})
+ git clone git://git.openembedded.org/meta-python2 --reference /mnt/yocto-cache/mirror/meta-python2.git
+ (cd meta-python2; git checkout ${PYTHON2_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 ../meta-python2
+ bitbake-layers add-layer ${SOURCE_DIR}
+
+ echo "require ${SOURCE_DIR}/coin/test-configs.inc" >> conf/local.conf
+
+ # EXCLUDE_FROM_WORLD
+ rm -f ${SOURCE_DIR}/recipes-qt/examples/qt5-opengles2-test_git.bb
+ rm -r ${SOURCE_DIR}/recipes-python/pyqt5/python3-pyqt5_5.15.1.bb
+ rm -r ${SOURCE_DIR}/recipes-python/pyqtchart/python3-pyqtchart_5.15.1.bb
+ bitbake $(find ${SOURCE_DIR} -name *.bb | xargs -n1 basename | sed -e 's/\([^._]*\).*/\1/')
+ filename: "{{.BuildDir}}/start-build"
+ fileMode: 420
+ - type: ExecuteCommand
+ command: ["chmod", "+x", "{{.BuildDir}}/start-build"]
+ userMessageOnFailure: "Could not add execution right to the start-build."
+ - type: EnvironmentVariable
+ variableName: DL_DIR
+ variableValue: "/mnt/yocto-cache/downloads"
+ - type: EnvironmentVariable
+ variableName: SOURCE_DIR
+ variableValue: "{{.SourceDir}}"
+ - type: ExecuteCommand
+ command: ["{{.BuildDir}}/start-build"]
+ maxTimeInSeconds: 28800
+ maxTimeBetweenOutput: 28800
+ userMessageOnFailure: "Build failed."
+ - type: ExecuteCommand
+ command: ["sudo", "umount", "/mnt/yocto-cache"]
+ userMessageOnFailure: "Unmounting cache failed."
+
+test_instructions: []
diff --git a/coin/test-configs.inc b/coin/test-configs.inc
new file mode 100644
index 00000000..5fbc1d55
--- /dev/null
+++ b/coin/test-configs.inc
@@ -0,0 +1,83 @@
+# https://github.com/shr-project/jenkins-jobs/blob/master/jenkins-job.sh
+INHERIT += "reproducible_build_simple"
+# need space for dunfell build
+INHERIT += "rm_work"
+# We want musl and glibc to share the same tmpfs, so instead of appending default "-${TCLIBC}" we append "fs"
+TCLIBCAPPEND = "fs"
+PREFERRED_PROVIDER_udev = "systemd"
+PREFERRED_PROVIDER_virtual/fftw = "fftw"
+# use gold
+DISTRO_FEATURES_append = " ld-is-gold"
+# use ptest
+DISTRO_FEATURES_append = " ptest"
+# use systemd
+DISTRO_FEATURES_append = " systemd"
+DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"
+VIRTUAL-RUNTIME_init_manager = "systemd"
+VIRTUAL-RUNTIME_initscripts = ""
+# use opengl
+DISTRO_FEATURES_append = " opengl"
+# use wayland to fix building weston and qtwayland
+DISTRO_FEATURES_append = " wayland"
+PREFERRED_PROVIDER_jpeg = "libjpeg-turbo"
+PREFERRED_PROVIDER_jpeg-native = "libjpeg-turbo-native"
+PREFERRED_PROVIDER_gpsd = "gpsd"
+PREFERRED_PROVIDER_e-wm-sysactions = "e-wm"
+ESYSACTIONS = "e-wm-sysactions"
+# don't pull libhybris unless explicitly asked for
+PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
+PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa"
+PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
+PREFERRED_PROVIDER_virtual/egl ?= "mesa"
+# to fix fsoaudiod, alsa-state conflict in shr-image-all
+VIRTUAL-RUNTIME_alsa-state = ""
+# to prevent alsa-state being pulled into -dev or -dbg images
+RDEPENDS_${PN}-dev_pn-alsa-state = ""
+RDEPENDS_${PN}-dbg_pn-alsa-state = ""
+# to fix dependency on conflicting x11-common from packagegroup-core-x11
+VIRTUAL-RUNTIME_xserver_common ?= "xserver-common"
+RDEPENDS_${PN}-dev_pn-x11-common = ""
+RDEPENDS_${PN}-dbg_pn-x11-common = ""
+# to fix apm, fso-apm conflict in shr-image-all
+VIRTUAL-RUNTIME_apm = "fso-apm"
+# require conf/distro/include/qt5-versions.inc
+# QT5_VERSION = "5.4.0+git%"
+# for qtwebkit etc
+# see https://bugzilla.yoctoproject.org/show_bug.cgi?id=5013
+# DEPENDS_append_pn-qtbase = " mesa"
+PACKAGECONFIG_append_pn-qtbase = " icu gl accessibility freetype fontconfig"
+# qtwayland doesn't like egl and xcomposite-glx enabled at the same time
+# http://lists.openembedded.org/pipermail/openembedded-devel/2016-December/110444.html
+PACKAGECONFIG_remove_pn-qtwayland = "xcomposite-egl xcomposite-glx"
+# for webkit-efl
+PACKAGECONFIG_append_pn-harfbuzz = " icu"
+inherit blacklist
+# PNBLACKLIST[samsung-rfs-mgr] = "needs newer libsamsung-ipc with negative D_P: Requested 'samsung-ipc-1.0 >= 0.2' but version of libsamsung-ipc is 0.1.0"
+PNBLACKLIST[android-system] = "depends on lxc from meta-virtualiazation which isn't included in my world builds"
+PNBLACKLIST[bigbuckbunny-1080p] = "big and doesn't really need to be tested so much"
+PNBLACKLIST[bigbuckbunny-480p] = "big and doesn't really need to be tested so much"
+PNBLACKLIST[bigbuckbunny-720p] = "big and doesn't really need to be tested so much"
+PNBLACKLIST[bigbuckbunny-720p] = "big and doesn't really need to be tested so much"
+PNBLACKLIST[tearsofsteel-1080p] = "big and doesn't really need to be tested so much"
+PNBLACKLIST[build-appliance-image] = "tries to include whole downloads directory in /home/builder/poky :/"
+# enable reporting
+# needs http://patchwork.openembedded.org/patch/68735/
+#ERR_REPORT_SERVER = "errors.yoctoproject.org"
+#ERR_REPORT_PORT = "80"
+#ERR_REPORT_USERNAME = "Martin Jansa"
+#ERR_REPORT_EMAIL = "Martin.Jansa@gmail.com"
+#ERR_REPORT_UPLOAD_FAILURES = "1"
+#INHERIT += "report-error"
+# needs patch with buildstats-summary.bbclass
+INHERIT += "buildstats buildstats-summary"
+# be more strict with QA warnings, turn them all to errors:
+ERROR_QA_append = " 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"
+WARN_QA_remove = " 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"
+# 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}"
+# use musl for qemux86 and qemux86copy
+TCLIBC_qemux86 = "musl"
+TCLIBC_qemux86copy = "musl"
+# limit parallel make to avoid OOM
+PARALLEL_MAKE_pn-qtwebkit = "-j 8"