aboutsummaryrefslogtreecommitdiff
path: root/kernel-testing-configs
diff options
context:
space:
mode:
authorVishal Bhoj <vishal.bhoj@linaro.org>2019-03-25 15:22:58 +0530
committerFathi Boudra <fathi.boudra@linaro.org>2019-03-27 08:16:59 +0000
commite0987bc2ea56046ddc1c54e774db61295ac00af6 (patch)
tree7417e19736792ec612495c3d73ce62e0cdb615a6 /kernel-testing-configs
parent9eba9fd71255c42d4d0616aeb108dd1bb9595867 (diff)
add kernel config testing support
Change-Id: I35f7cc40bc81e92f7869b230fa659fa1d36570cc Signed-off-by: Vishal Bhoj <vishal.bhoj@linaro.org>
Diffstat (limited to 'kernel-testing-configs')
-rwxr-xr-xkernel-testing-configs/generate-jjb-config.sh40
-rw-r--r--kernel-testing-configs/templates/generic.yaml181
-rw-r--r--kernel-testing-configs/templates/trigger-generic.yaml50
-rw-r--r--kernel-testing-configs/test-params/test-kernel-ci-project4
4 files changed, 275 insertions, 0 deletions
diff --git a/kernel-testing-configs/generate-jjb-config.sh b/kernel-testing-configs/generate-jjb-config.sh
new file mode 100755
index 00000000..442b53aa
--- /dev/null
+++ b/kernel-testing-configs/generate-jjb-config.sh
@@ -0,0 +1,40 @@
+#!/bin/bash -xe
+
+if [[ -z ${KERNEL_BRANCH} || -z ${KERNEL_REPO} || -z ${EMAIL_ADDRESS} ]]; then
+ echo "Please make sure parameters are set"
+ exit 1
+fi
+
+DEVELOPER_JOB_NAME=$(echo ${EMAIL_ADDRESS} | cut -d'@' -f1)-${KERNEL_BRANCH}
+
+cp templates/trigger-generic.yaml ../trigger-openembedded-lkft-developer-ci-${DEVELOPER_JOB_NAME}.yaml
+cp templates/generic.yaml ../openembedded-lkft-developer-ci-${DEVELOPER_JOB_NAME}.yaml
+
+sed -e "s|\${KERNEL_BRANCH}|${KERNEL_BRANCH}|g" -e "s|\${KERNEL_REPO}|${KERNEL_REPO}|g" -e "s|\${EMAIL_ADDRESS}|${EMAIL_ADDRESS}|g" -e "s|\${DEVELOPER_JOB_NAME}|${DEVELOPER_JOB_NAME}|g" -i ../trigger-openembedded-lkft-developer-ci-${DEVELOPER_JOB_NAME}.yaml
+sed -e "s|\${KERNEL_BRANCH}|${KERNEL_BRANCH}|g" -e "s|\${KERNEL_REPO}|${KERNEL_REPO}|g" -e "s|\${EMAIL_ADDRESS}|${EMAIL_ADDRESS}|g" -e "s|\${DEVELOPER_JOB_NAME}|${DEVELOPER_JOB_NAME}|g" -e "s|\${QA_SERVER_PROJECT}|${DEVELOPER_JOB_NAME}|g" -i ../openembedded-lkft-developer-ci-${DEVELOPER_JOB_NAME}.yaml
+
+
+if ! echo "${DUT}" | grep -q "am57xx-evm"; then
+ sed -i "/- 'am57xx-evm'/d" ../openembedded-lkft-developer-ci-${DEVELOPER_JOB_NAME}.yaml
+fi
+if ! echo "${DUT}" | grep -q "dragonboard-410c"; then
+ sed -i "/- 'dragonboard-410c'/d" ../openembedded-lkft-developer-ci-${DEVELOPER_JOB_NAME}.yaml
+fi
+
+if ! echo "${DUT}" | grep -q "hikey"; then
+ sed -i "/- 'hikey'/d" ../openembedded-lkft-developer-ci-${DEVELOPER_JOB_NAME}.yaml
+fi
+if ! echo "${DUT}" | grep -q "intel-core2-32"; then
+ sed -i "/- 'intel-core2-32'/d" ../openembedded-lkft-developer-ci-${DEVELOPER_JOB_NAME}.yaml
+fi
+if ! echo "${DUT}" | grep -q "intel-corei7-64"; then
+ sed -i "/- 'intel-corei7-64'/d" ../openembedded-lkft-developer-ci-${DEVELOPER_JOB_NAME}.yaml
+fi
+if ! echo "${DUT}" | grep -q "juno"; then
+ sed -i "/- 'juno'/d" ../openembedded-lkft-developer-ci-${DEVELOPER_JOB_NAME}.yaml
+fi
+
+git add ../openembedded-lkft-developer-ci-${DEVELOPER_JOB_NAME}.yaml ../ ../trigger-openembedded-lkft-developer-ci-${DEVELOPER_JOB_NAME}.yaml
+git commit -m "Added new jobs for ${DEVELOPER_JOB_NAME}"
+wget https://raw.githubusercontent.com/vishalbhoj/tools/master/squad/create_project.py
+python create_project.py -p ${DEVELOPER_JOB_NAME} -g lkft
diff --git a/kernel-testing-configs/templates/generic.yaml b/kernel-testing-configs/templates/generic.yaml
new file mode 100644
index 00000000..1d1bdf4c
--- /dev/null
+++ b/kernel-testing-configs/templates/generic.yaml
@@ -0,0 +1,181 @@
+- job:
+ name: openembedded-lkft-developer-ci-${DEVELOPER_JOB_NAME}
+ project-type: matrix
+ defaults: global
+ properties:
+ - authorization:
+ anonymous:
+ - job-read
+ - job-extended-read
+ - job-workspace
+ 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_BRANCH
+ default: '${KERNEL_BRANCH}'
+ - string:
+ name: KERNEL_VERSION
+ default: '4.19'
+ - string:
+ name: KERNEL_RECIPE
+ default: 'linux-generic-stable-rc'
+ - string:
+ name: KERNEL_REPO
+ default: '${KERNEL_REPO}'
+ - string:
+ name: KERNEL_DESCRIBE
+ - string:
+ name: SRCREV_kernel
+ - string:
+ name: MAKE_KERNELVERSION
+ - string:
+ name: IMAGES
+ default: 'rpb-console-image-lkft'
+ - string:
+ name: MANIFEST_URL
+ default: 'https://github.com/96boards/oe-rpb-manifest.git'
+ - string:
+ name: MANIFEST_BRANCH
+ default: 'lkft/rocko'
+ - string:
+ name: PUB_DEST
+ default: 'openembedded/lkft/${MANIFEST_BRANCH}/${MACHINE}/${DISTRO}/linux-stable-rc-${KERNEL_VERSION}/${BUILD_NUMBER}'
+ - string:
+ name: LAVA_SERVER
+ default: 'https://lkft.validation.linaro.org/RPC2/'
+ - string:
+ name: QA_SERVER
+ default: 'https://staging-qa-reports.linaro.org'
+ - string:
+ name: QA_SERVER_PROJECT
+ default: '${QA_SERVER_PROJECT}'
+ - string:
+ name: SKIP_LAVA
+ default: ''
+ - string:
+ name: LAVA_JOB_PRIORITY
+ default: '75'
+ - string:
+ name: SANITY_LAVA_JOB_PRIORITY
+ default: '80'
+ - string:
+ name: KSELFTEST_PATH
+ default: '/opt/kselftests/default-in-kernel/'
+ - matrix-combinations:
+ name: MATRIX_COMBINATIONS
+ disabled: false
+ node: master
+ display-name: 'Develepor CI setup for ${DEVELOPER_JOB_NAME} (OpenEmbedded/rocko)'
+ axes:
+ - axis:
+ type: user-defined
+ name: MACHINE
+ values:
+ - 'am57xx-evm'
+ - 'dragonboard-410c'
+ - 'hikey'
+ - 'intel-core2-32'
+ - 'intel-corei7-64'
+ - 'juno'
+ - axis:
+ type: user-defined
+ name: DISTRO
+ values:
+ - lkft
+ - axis:
+ type: slave
+ name: label
+ values:
+ - docker-lkft
+ execution-strategy:
+ sequential: false
+ wrappers:
+ - timeout:
+ timeout: 180
+ - timestamps
+ - ssh-agent-credentials:
+ users:
+ - 'OE_COMMIT_BOT_KEY'
+ - credentials-binding:
+ - text:
+ credential-id: QA_REPORTS_TOKEN
+ variable: QA_REPORTS_TOKEN
+ builders:
+ - shell: |
+ #!/bin/bash
+
+ # Mapping for MACHINE -> DEVICE_TYPE
+ case "${MACHINE}" in
+ hikey)
+ DEVICE_TYPE=hi6220-hikey
+ ;;
+ intel-core2-32)
+ DEVICE_TYPE=i386
+ ;;
+ intel-corei7-64)
+ DEVICE_TYPE=x86
+ ;;
+ juno)
+ DEVICE_TYPE=juno-r2
+ ;;
+ am57xx-evm)
+ DEVICE_TYPE=x15
+ ;;
+ dragonboard-410c)
+ DEVICE_TYPE=dragonboard-410c
+ ;;
+ esac
+
+ echo "DEVICE_TYPE=${DEVICE_TYPE}" > device_type_parameters
+ echo "#${BUILD_NUMBER}-${SRCREV_kernel:0:8}" > ${WORKSPACE}/version.txt
+ - build-name-setter:
+ name: 'version.txt'
+ file: true
+ - inject:
+ properties-file: device_type_parameters
+ - shell:
+ !include-raw: openembedded-lkft/builders.sh
+ - inject:
+ properties-file: post_build_lava_parameters
+ - linaro-publish-token
+ - shell:
+ !include-raw: openembedded-lkft/publishers.sh
+ - shell:
+ !include-raw: openembedded-lkft/submit_for_testing.sh
+ - shell:
+ !include-raw: openembedded-lkft/qemu-testjobs.sh
+ - inject:
+ properties-file: qemu_device_type_parameters
+ - shell:
+ !include-raw: openembedded-lkft/submit_for_testing.sh
+ publishers:
+ - groovy-postbuild:
+ script:
+ !include-raw:
+ - rpb-openembedded/postbuild.groovy
+ - openembedded-lkft/postbuild.groovy
+ - email-ext:
+ recipients: '${EMAIL_ADDRESS}'
+ matrix-trigger: only-configurations
+ aborted: true
+ subject: '[CI] ${MACHINE}: ${KERNEL_BRANCH} {{SRCREV_kernel}} ${BUILD_STATUS}'
+ body: |
+ Build URL: ${PROJECT_URL}${BUILD_NUMBER}/
+ Full log: ${PROJECT_URL}${BUILD_NUMBER}/consoleText
+ Parsed warnings/errors: ${PROJECT_URL}${BUILD_NUMBER}/parsed_console
+ Git branch: ${KERNEL_BRANCH}
+ Git URL: ${KERNEL_REPO}
+ Git commit: ${SRCREV_kernel}
+
+ Errors:
+ ${BUILD_LOG_REGEX, regex="^ERROR:.* ", linesBefore=0, linesAfter=0, showTruncatedLines=false}
+ presend-script:
+ !include-raw: openembedded-lkft/presend-script.groovy
diff --git a/kernel-testing-configs/templates/trigger-generic.yaml b/kernel-testing-configs/templates/trigger-generic.yaml
new file mode 100644
index 00000000..01a8aedc
--- /dev/null
+++ b/kernel-testing-configs/templates/trigger-generic.yaml
@@ -0,0 +1,50 @@
+- job:
+ name: trigger-openembedded-lkft-developer-ci-${DEVELOPER_JOB_NAME}
+ project-type: freestyle
+ defaults: global
+ properties:
+ - authorization:
+ anonymous:
+ - job-read
+ - job-extended-read
+ - build-discarder:
+ days-to-keep: 30
+ num-to-keep: 30
+ parameters:
+ - string:
+ name: KERNEL_BRANCH
+ default: '${KERNEL_BRANCH}'
+ disabled: false
+ node: master
+ display-name: 'Trigger for LKFT - developer CI for ${DEVELOPER_JOB_NAME}'
+ scm:
+ - git:
+ url: ${KERNEL_REPO}
+ refspec: +refs/heads/${KERNEL_BRANCH}:refs/remotes/origin/${KERNEL_BRANCH}
+ name: origin
+ branches:
+ - origin/${KERNEL_BRANCH}
+ skip-tag: true
+ shallow-clone: false
+ wipe-workspace: false
+ triggers:
+ - pollscm:
+ cron: 'H/5 * * * *'
+ wrappers:
+ - timestamps
+ - build-name:
+ name: '#${BUILD_NUMBER}-${GIT_REVISION,length=8}'
+ builders:
+ - shell: |
+ #!/bin/bash -e
+ git clean -fdx
+ echo KERNEL_DESCRIBE=$(git describe --always) >> lkft_parameters
+ echo SRCREV_kernel=${GIT_COMMIT} >> lkft_parameters
+ echo MAKE_KERNELVERSION=$(make kernelversion) >> lkft_parameters
+ cat lkft_parameters
+ publishers:
+ - trigger-parameterized-builds:
+ - project:
+ - 'openembedded-lkft-developer-ci-${DEVELOPER_JOB_NAME}'
+ condition: SUCCESS
+ property-file: lkft_parameters
diff --git a/kernel-testing-configs/test-params/test-kernel-ci-project b/kernel-testing-configs/test-params/test-kernel-ci-project
new file mode 100644
index 00000000..55d1ab49
--- /dev/null
+++ b/kernel-testing-configs/test-params/test-kernel-ci-project
@@ -0,0 +1,4 @@
+KERNEL_BRANCH=linux-4.19.y
+KERNEL_REPO=https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
+DUT=hikey
+EMAIL_ADDRESS=vishal.bhoj@linaro.org