osmo-ci/jobs/ttcn3-testsuites-kernel-git...

133 lines
4.4 KiB
YAML

# TTCN-3 testsuite jobs with parameters to build a kernel from source (OS#3208)
# In contrary to the kernel jobs in ttcn3-testsuites.yml, here the jobs are
# manually triggered and the kernel git repository is not hardcoded.
---
- project:
name: 'ttcn3-testsuites-kernel-git'
concurrent: false
disabled: false
description: ""
node: ttcn3
blocking: "^{job-name}.*"
wipe_workspace: false
jobs:
- "{job-name}"
job-name:
- ttcn3-ggsn-test-kernel-git:
blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*"
# Cache the linux source tree in the workspace of one node
node: ttcn3-ggsn-test-kernel-git
description: |
Run the
<a href="https://osmocom.org/projects/cellular-infrastructure/wiki/Titan_TTCN3_Testsuites">
Osmocom Titan TTCN-3 testsuite</a> against
<a href="https://osmocom.org/projects/openggsn/wiki/OsmoGGSN">
OsmoGGSN</a> with the GTP kernel module. The kernel is built
from the git repository and branch provided as parameters when
starting this job.
- job-template:
name: '{job-name}'
project-type: freestyle
disabled: '{obj:disabled}'
defaults: global
description: '{obj:description}'
node: '{obj:node}'
parameters:
- string:
name: KERNEL_URL
description: |
Remote URL of git repository, from which the kernel will be
built.
default: 'https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git'
- string:
name: KERNEL_REMOTE_NAME
description: |
Short name for the remote URL, which will be used to add it to
the local git checkout with <code>git remote add</code>.
default: 'net-next'
- string:
name: KERNEL_BRANCH
description: |
Branch to check out from the remote with
<code>KERNEL_URL</code> and <code>KERNEL_REMOTE_NAME</code>
before building the kernel.
default: 'master'
- choice:
name: OSMOCOM_VERSION
choices:
- latest
- master
description: |
Version of the Osmocom stack to test against the kernel. Either
<code>latest</code> for the latest release version, or
<code>master</code> for HEAD of git.osmocom.org.
default: 'latest'
- string:
name: BRANCH
description: |
Branch of <code>docker-playground.git</code>
(for development of the test infrastructure, don't change this
when testing kernel trees).
default: '*/master'
builders:
- shell: |-
export REGISTRY_HOST="registry.osmocom.org"
# Translate job name to docker-playground dir and relevant
# environment variables
case "{job-name}" in
ttcn3-ggsn-test-kernel-git)
DIR="ttcn3-ggsn-test"
export IMAGE_SUFFIX="$OSMOCOM_VERSION"
export KERNEL_TEST=1
export KERNEL_BUILD=1
;;
*)
echo "Can't handle job: {job-name}"
exit 1
;;
esac
cd "$DIR"
./jenkins.sh
scm:
- git:
branches:
- '$BRANCH'
url: git://git.osmocom.org/docker-playground
git-config-name: 'Jenkins Builder'
git-config-email: 'jenkins@osmocom.org'
wipe-workspace: "{obj:wipe_workspace}"
publishers:
- junit:
results: '**/junit-xml-*.log'
allow-empty-results: false
- email:
notify-every-unstable-build: true
recipients: laforge@gnumonks.org osmith@sysmocom.de
send-to-individuals: false
- archive:
allow-empty: false
artifacts: logs/**/*
case-sensitive: true
default-excludes: true
fingerprint: false
only-if-success: false
properties:
- build-blocker:
use-build-blocker: true
blocking-jobs:
- "{obj:blocking}"
- build-discarder:
days-to-keep: 30
num-to-keep: 120
artifact-days-to-keep: -1
artifact-num-to-keep: -1
wrappers:
- ansicolor:
colormap: xterm
# vim: expandtab tabstop=2 shiftwidth=2