mirror of https://gerrit.osmocom.org/osmo-ci
263 lines
8.5 KiB
YAML
263 lines
8.5 KiB
YAML
## run jobs
|
|
- project:
|
|
name: osmo-gsm-testers-runner
|
|
stage:
|
|
- prod
|
|
- rnd
|
|
jobs:
|
|
- 'osmo-gsm-tester_run-{stage}'
|
|
- 'osmo-gsm-tester_gerrit'
|
|
- 'osmo-gsm-tester_ttcn3'
|
|
- 'osmo-gsm-tester_virtual'
|
|
|
|
- scm:
|
|
name: osmo-gsm-tester-gerrit
|
|
scm:
|
|
- git:
|
|
url: ssh://jenkins@gerrit.osmocom.org:29418/osmo-gsm-tester
|
|
credentials-id: d5eda5e9-b59d-44ba-88d2-43473cb6e42d
|
|
branches:
|
|
- $GERRIT_BRANCH
|
|
refspec: $GERRIT_REFSPEC
|
|
wipe-workspace: false
|
|
skip-tag: true
|
|
basedir: osmo-gsm-tester
|
|
clean:
|
|
before: true
|
|
choosing-strategy: 'gerrit'
|
|
|
|
# The repo must be used seperate to workaround the bug "Can not expand OSMO_GSM_TESTER_BRANCH".
|
|
# The safe-guard check to not use un-defined variables seems to be broken.
|
|
- scm:
|
|
name: osmo-gsm-tester-repo
|
|
scm:
|
|
- git:
|
|
url: https://gitea.osmocom.org/cellular-infrastructure/osmo-gsm-tester
|
|
branches:
|
|
- ${OSMO_GSM_TESTER_BRANCH}
|
|
wipe-workspace: false
|
|
skip-tag: true
|
|
basedir: osmo-gsm-tester
|
|
|
|
- builder:
|
|
name: copy_artifact
|
|
builders:
|
|
- copyartifact:
|
|
project: '{repo}'
|
|
filter: '*.tgz, *.md5'
|
|
which-build: last-successful
|
|
stable: true
|
|
|
|
# all artifact in one place
|
|
- builder:
|
|
name: copy_artifact_all
|
|
builders:
|
|
- copy_artifact:
|
|
repo: osmo-gsm-tester_build-osmo-bsc
|
|
- copy_artifact:
|
|
repo: osmo-gsm-tester_build-osmo-bts
|
|
- copy_artifact:
|
|
repo: osmo-gsm-tester_build-osmo-ggsn
|
|
- copy_artifact:
|
|
repo: osmo-gsm-tester_build-osmo-hlr
|
|
- copy_artifact:
|
|
repo: osmo-gsm-tester_build-osmo-mgw
|
|
- copy_artifact:
|
|
repo: osmo-gsm-tester_build-osmo-hnbgw
|
|
- copy_artifact:
|
|
repo: osmo-gsm-tester_build-osmo-msc
|
|
- copy_artifact:
|
|
repo: osmo-gsm-tester_build-osmo-pcu
|
|
- copy_artifact:
|
|
repo: osmo-gsm-tester_build-osmo-sgsn
|
|
- copy_artifact:
|
|
repo: osmo-gsm-tester_build-osmo-trx
|
|
- copy_artifact:
|
|
repo: osmo-gsm-tester_build-osmo-nitb
|
|
- copy_artifact:
|
|
repo: osmo-gsm-tester_build-osmo-stp
|
|
- copy_artifact:
|
|
repo: osmo-gsm-tester_build-osmocom-bb
|
|
- copy_artifact:
|
|
repo: osmo-gsm-tester_build-osmo-bts-sysmo
|
|
- copy_artifact:
|
|
repo: osmo-gsm-tester_build-osmo-pcu-sysmo
|
|
- copy_artifact:
|
|
repo: osmo-gsm-tester_build-osmo-bts-oc2g
|
|
- copy_artifact:
|
|
repo: osmo-gsm-tester_build-osmo-pcu-oc2g
|
|
- copy_artifact:
|
|
repo: osmo-gsm-tester_build-open5gs
|
|
- copy_artifact:
|
|
repo: osmo-gsm-tester_build-srslte
|
|
|
|
- defaults:
|
|
name: runner
|
|
description: 'Run an actual GSM hardware test using the binaries from the osmo-gsm-tester_build* jobs'
|
|
node: 'osmo-gsm-tester-prod'
|
|
project-type: freestyle
|
|
properties:
|
|
- build-discarder:
|
|
num-to-keep: 60
|
|
parameters:
|
|
- string:
|
|
name: "OSMO_GSM_TESTER_BRANCH"
|
|
default: "origin/master"
|
|
description: "Which branch/sha should be used for testing"
|
|
- string:
|
|
name: "OSMO_GSM_TESTER_OPTS"
|
|
default: ""
|
|
description: "pass additional command line options to osmo-gsm-tester.py, e.g. to select specific suites:scenarios. Default: leave empty."
|
|
|
|
- job-template:
|
|
name: 'osmo-gsm-tester_run-{stage}'
|
|
defaults: runner
|
|
node: 'osmo-gsm-tester-{stage}'
|
|
triggers:
|
|
- timed: "H 0 * * *"
|
|
- reverse:
|
|
jobs:
|
|
- osmo-gsm-tester_build-osmo-bsc
|
|
- osmo-gsm-tester_build-osmo-bts
|
|
- osmo-gsm-tester_build-osmo-ggsn
|
|
- osmo-gsm-tester_build-osmo-hlr
|
|
- osmo-gsm-tester_build-osmo-mgw
|
|
- osmo-gsm-tester_build-osmo-msc
|
|
- osmo-gsm-tester_build-osmo-pcu
|
|
- osmo-gsm-tester_build-osmo-sgsn
|
|
- osmo-gsm-tester_build-osmo-trx
|
|
- osmo-gsm-tester_build-osmo-nitb
|
|
- osmo-gsm-tester_build-osmo-stp
|
|
- osmo-gsm-tester_build-osmo-bts-sysmo
|
|
- osmo-gsm-tester_build-osmo-pcu-sysmo
|
|
- osmo-gsm-tester_build-osmo-bts-oc2g
|
|
- osmo-gsm-tester_build-osmo-pcu-oc2g
|
|
- osmo-gsm-tester_build-open5gs
|
|
- osmo-gsm-tester_build-srslte
|
|
builders:
|
|
- copy_artifact_all
|
|
- shell: !include-raw: osmo-gsm-tester_run-{stage}.sh
|
|
publishers:
|
|
- archive:
|
|
artifacts: '*-run.tgz, *-bin.tgz'
|
|
default-excludes: false
|
|
- junit:
|
|
results: 'trial-*/last_run/trial-*.xml'
|
|
allow-empty-results: true
|
|
- email:
|
|
recipients: 'pespin@sysmocom.de'
|
|
notify-every-unstable-build: true
|
|
scm:
|
|
- 'osmo-gsm-tester-repo'
|
|
|
|
# gerrit job
|
|
- job:
|
|
name: 'osmo-gsm-tester_gerrit'
|
|
defaults: runner
|
|
scm:
|
|
- 'osmo-gsm-tester-gerrit'
|
|
triggers:
|
|
- gerrit:
|
|
server-name: 'gerrit.osmocom.org'
|
|
trigger-on:
|
|
- patchset-created-event:
|
|
exclude-no-code-change: true
|
|
- draft-published-event
|
|
projects:
|
|
- project-compare-type: 'PLAIN'
|
|
project-pattern: 'osmo-gsm-tester'
|
|
branches:
|
|
- branch-compare-type: 'ANT'
|
|
branch-pattern: '**'
|
|
builders:
|
|
- shell: |
|
|
# make sure no bin artifacts from a previous run remain
|
|
rm -f *.tgz *.md5
|
|
- copy_artifact_all
|
|
- shell: !include-raw: osmo-gsm-tester_run-gerrit.sh
|
|
publishers:
|
|
- archive:
|
|
artifacts: '*-run.tgz, *-bin.tgz'
|
|
default-excludes: false
|
|
- junit:
|
|
results: 'trial-*/last_run/trial-*.xml'
|
|
allow-empty-results: true
|
|
|
|
# ttcn3 job
|
|
- job:
|
|
name: 'osmo-gsm-tester_ttcn3'
|
|
defaults: runner
|
|
scm:
|
|
- 'osmo-gsm-tester-repo'
|
|
triggers:
|
|
- timed: "H 23 * * *"
|
|
builders:
|
|
- shell: |
|
|
# make sure no bin artifacts from a previous run remain
|
|
rm -f *.tgz *.md5
|
|
- copy_artifact_all
|
|
- copy_artifact:
|
|
repo: osmo-gsm-tester_build-osmocom-bb
|
|
- shell: !include-raw: osmo-gsm-tester_ttcn3.sh
|
|
publishers:
|
|
- archive:
|
|
artifacts: '*-run.tgz, *-bin.tgz'
|
|
default-excludes: false
|
|
- junit:
|
|
results: 'trial-*/last_run/trial-*.xml'
|
|
allow-empty-results: true
|
|
|
|
# virtual tester job
|
|
- job:
|
|
name: 'osmo-gsm-tester_virtual'
|
|
defaults: runner
|
|
node: 'osmocom-master-debian9'
|
|
scm:
|
|
- 'osmo-gsm-tester-repo'
|
|
triggers:
|
|
- timed: "H 22 * * *"
|
|
builders:
|
|
- shell: |
|
|
# make sure no bin artifacts from a previous run remain
|
|
rm -f *.tgz *.md5
|
|
- copy_artifact_all
|
|
- copy_artifact:
|
|
repo: osmo-gsm-tester_build-osmocom-bb
|
|
- shell: >
|
|
unlink osmo-gsm-tester/sysmocom/resources.conf || true
|
|
|
|
ln -s resources.conf.virtual osmo-gsm-tester/sysmocom/resources.conf
|
|
|
|
# TODO: We (want to) grant CAP_SYS_NICE for osmo-bts-virtual
|
|
# but with newer cgroup support and the --cpu-rt-runtime/--ulimit
|
|
# rtprio=99 flags we can limit the damage a job can do.
|
|
|
|
docker run --rm=true \
|
|
-e HOME=/build \
|
|
-e JOB_NAME="$JOB_NAME" \
|
|
-e OSMO_GSM_TESTER_CONF="/build/osmo-gsm-tester/sysmocom/main.conf" \
|
|
-e OSMO_GSM_TESTER_OPTS="$OSMO_GSM_TESTER_OPTS" \
|
|
-e BUILD_NUMBER="$BUILD_NUMBER" \
|
|
-w /build -i \
|
|
-v "$PWD:/build" \
|
|
-v "$HOME/.ssh:/home/build/.ssh:ro" \
|
|
--cap-add=sys_nice \
|
|
$USER/osmo-gsm-tester \
|
|
/bin/bash -c 'LANG="en_US.utf8" LC_ALL="en_US.UTF-8" LC_LANG="en_US.UTF-8" PATH="$PWD/osmo-gsm-tester/src:${PATH}" ./osmo-gsm-tester/contrib/jenkins-run.sh'
|
|
publishers:
|
|
- archive:
|
|
artifacts: '*-run.tgz, *-bin.tgz'
|
|
default-excludes: false
|
|
- junit:
|
|
results: 'trial-*/last_run/trial-*.xml'
|
|
allow-empty-results: true
|
|
parameters:
|
|
- string:
|
|
name: "OSMO_GSM_TESTER_OPTS"
|
|
default: "-s netreg_mass"
|
|
description: "pass additional command line options to osmo-gsm-tester.py, e.g. to select specific suites:scenarios. Default: leave empty."
|
|
- string:
|
|
name: "OSMO_GSM_TESTER_BRANCH"
|
|
default: "origin/master"
|
|
description: "Which branch/sha should be used for testing"
|