- job: name: openembedded-lkft-linux-generic project-type: freestyle defaults: global properties: - authorization: anonymous: - job-read - job-extended-read linaro: - job-read - job-extended-read - job-build - job-cancel - build-discarder: days-to-keep: 30 num-to-keep: 30 artifact-num-to-keep: 1 parameters: - string: name: KERNEL_REPO default: 'https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git' description: | [MANDATORY] Kernel repository URL - string: name: KERNEL_BRANCH default: 'master' description: | [MANDATORY] Kernel branch - choice: name: KERNEL_ARCH choices: - 'arm64' - 'arm' - 'x86' description: | [MANDATORY] Kernel architecture - string: name: KERNEL_CONFIG default: 'defconfig' description: | [OPTIONAL] Kernel config
If ommited the default kernel config will use
- defconfig on arm64
- multi_v7_defconfig on arm
- x86_64_defconfig on x86
Note: an additional config fragment is added to ensure systemd is functional - string: name: KERNEL_COMMIT default: '' description: | [OPTIONAL] Kernel commit
If ommited TIP will be used
e.g.: 0adb32858b0bddf4ada5f364a84ed60b196dbcda - string: name: PUB_DEST default: 'openembedded/lkft/rocko/generic/rpb/linux-custom/${BUILD_NUMBER}' description: | [MANDATORY] Publishing destination path on https://snapshots.linaro.org # FIXME we don't submit LAVA jobs for now # - string: # name: QA_SERVER # default: 'https://qa-reports.linaro.org' # - string: # name: QA_SERVER_PROJECT # default: 'linux-custom-oe' - bool: name: SKIP_LAVA default: 'true' disabled: false node: docker-lkft display-name: 'LKFT - Linux Generic/Custom kernel builder (OpenEmbedded/rocko)' wrappers: - timeout: timeout: 180 - timestamps # - credentials-binding: # - text: # credential-id: QA_REPORTS_TOKEN # variable: QA_REPORTS_TOKEN builders: - shell: | #!/bin/bash -e # Mapping for ARCH -> MACHINE/DEVICE_TYPE # Set a default config if it isn't given case "${KERNEL_ARCH}" in arm64) MACHINE=juno DEVICE_TYPE=juno-r2 [ -z "${KERNEL_CONFIG}" ] && KERNEL_CONFIG=defconfig ;; arm) MACHINE=am57xx-evm DEVICE_TYPE=x15 [ -z "${KERNEL_CONFIG}" ] && KERNEL_CONFIG=multi_v7_defconfig ;; x86) MACHINE=intel-core2-32 DEVICE_TYPE=x86 [ -z "${KERNEL_CONFIG}" ] && KERNEL_CONFIG=x86_64_defconfig ;; esac # Determine the kernel commit if it isn't given [ -z "${KERNEL_COMMIT}" ] && KERNEL_COMMIT=$(git ls-remote --heads ${KERNEL_REPO} ${KERNEL_BRANCH} | cut -f1) cat << EOF > ${WORKSPACE}/custom-kernel-info.inc.tmp KERNEL_COMMIT = "${KERNEL_COMMIT}" KERNEL_REPO = "${KERNEL_REPO/http*:/git:}" KERNEL_BRANCH = "${KERNEL_BRANCH}" KERNEL_CONFIG_aarch64 = "${KERNEL_CONFIG}" KERNEL_CONFIG_arm = "${KERNEL_CONFIG}" KERNEL_CONFIG_x86-64 = "${KERNEL_CONFIG}" EOF echo "IMAGES=rpb-console-image-lkft" > parameters echo "MANIFEST_URL=https://github.com/96boards/oe-rpb-manifest.git" >> parameters echo "MANIFEST_BRANCH=rocko" >> parameters echo "DISTRO=rpb" >> parameters echo "MACHINE=${MACHINE}" >> parameters echo "DEVICE_TYPE=${DEVICE_TYPE}" >> parameters echo "KERNEL_RECIPE=linux-generic" >> parameters cat parameters echo "#${BUILD_NUMBER}-${KERNEL_COMMIT:0:8}" > ${WORKSPACE}/version.txt - build-name-setter: name: 'version.txt' file: true - inject: properties-file: parameters - shell: !include-raw: openembedded-lkft/builders-generic.sh - inject: properties-file: post_build_lava_parameters - linaro-publish-token - shell: !include-raw: openembedded-lkft/publishers.sh publishers: - groovy-postbuild: script: !include-raw: - rpb-openembedded/postbuild.groovy