| # 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 |