# All master branch verification builds, https://jenkins.osmocom.org/jenkins/view/master/ - project: name: master_build # following default values can be overridden by each repo disabled: false concurrent: true # axes related defaults slave_axis: !!python/tuple [osmocom-master] a1_name: a1 a1: !!python/tuple [default] a2_name: a2 a2: !!python/tuple [default] a3_name: a3 a3: !!python/tuple [default] a4_name: a4 a4: !!python/tuple [default] combination_filter: '' sequential: false # most common build invocation # SYS_PTRACE is needed for ASAN (https://github.com/google/sanitizers/issues/764) # Documentation for variables (keep in sync!): # https://osmocom.org/projects/osmocom-servers/wiki/Jenkins_build_verification_jobs docker_run: | docker run --rm=true \ --cap-add SYS_PTRACE \ -e ASCIIDOC_WARNINGS_CHECK="1" \ -e HOME=/build \ -e IS_MASTER_BUILD=1 \ -e JOB_NAME="$JOB_NAME" \ -e MAKE=make \ -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ -e OSMO_GSM_MANUALS_DIR="/opt/osmo-gsm-manuals" \ -e PARALLEL_MAKE="$PARALLEL_MAKE" \ -e PUBLISH="1" \ -e SSH_AUTH_SOCK=/ssh-agent \ -e WITH_MANUALS="1" \ -w /build -i -u build \ -v $(readlink -f $SSH_AUTH_SOCK):/ssh-agent \ -v "$PWD:/build" \ -v "$HOME/.ssh:/home/build/.ssh:ro" \ docker_run_ccache: | CCACHE_DIR="$HOME/ccache/master-builds" mkdir -p "$CCACHE_DIR" chown osmocom-build:osmocom-build "$CCACHE_DIR" docker run --rm=true \ --cap-add SYS_PTRACE \ -e ASCIIDOC_WARNINGS_CHECK="1" \ -e HOME=/build \ -e IS_MASTER_BUILD=1 \ -e JOB_NAME="$JOB_NAME" \ -e MAKE=make \ -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ -e OSMO_GSM_MANUALS_DIR="/opt/osmo-gsm-manuals" \ -e PARALLEL_MAKE="$PARALLEL_MAKE" \ -e PUBLISH="1" \ -e SSH_AUTH_SOCK=/ssh-agent \ -e WITH_MANUALS="1" \ -w /build -i -u build \ -v $(readlink -f $SSH_AUTH_SOCK):/ssh-agent \ -v "$PWD:/build" \ -v "$HOME/.ssh:/home/build/.ssh:ro" \ \ -e CCACHE_DIR="/ccache" \ -e PATH="/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" \ -v "$CCACHE_DIR:/ccache" \ docker_img: '$USER/debian-bookworm-build' docker_img_erlang: '$USER/debian-bookworm-erlang' timeout_cmd: '/usr/bin/timeout 30m' cmd: '{docker_run_ccache} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh' trigger: email: jenkins-notifications@lists.osmocom.org laforge@gnumonks.org gerrit_url: 'https://gerrit.osmocom.org' gitea_url: 'https://gitea.osmocom.org' repos_url: '{gerrit_url}/{repos}' branches: - master ssh: - docs_ftp.osmocom.org # in alphabetical order repos: - asn1c: branches: - osmo-iuh/master - libasn1c: # Full triggers would be: # trigger: master-osmo-iuh, master-osmo-msc # Optimized: # osmo-iuh triggers osmo-msc trigger: master-osmo-iuh - libgtpnl: trigger: master-osmo-ggsn, openggsn, master-osmo-upf - libosmo-abis: # Full triggers would be: # trigger: > # master-libosmo-netif, master-osmo-bsc, master-osmo-bts, master-osmo-hlr, # master-osmo-msc, master-osmo-sgsn, master-openbsc # Optimized: # (see comment at libosmocore) trigger: > master-libosmo-netif, master-osmo-bts - libosmo-dsp: repos_url: '{gitea_url}/sdr/{repos}' cmd: | {docker_run_ccache} \ {docker_img} {timeout_cmd} sh -ex -c \ 'autoreconf -fi; \ ./configure; \ $MAKE $PARALLEL_MAKE; \ $MAKE distcheck' trigger: master-osmo-gmr email: jenkins-notifications@lists.osmocom.org laforge@gnumonks.org 246tnt@gmail.com - libosmo-gprs: # Full triggers would be: # trigger: > # master-osmo-pcu # Optimized: # (see comment at libosmocore) trigger: > master-osmo-pcu - libosmo-netif: # Full triggers would be: # trigger: > # master-libosmo-sccp, master-openbsc, mastere-osmo-hlr, master-osmo-iuh, # master-osmo-mgw, master-osmo-msc, master-osmo-sgsn, master-osmo-hnodeb, # master-osmo-hnbgw # Optimized: # (see comment at libosmocore) trigger: > master-libosmo-sccp, master-osmo-hlr, master-osmo-mgw, master-osmo-sgsn - libosmo-pfcp: # Full triggers would be: # trigger: > # master-osmo-upf, master-osmo-hnbgw # Optimized: # (see comment at libosmocore) trigger: > master-osmo-upf, master-osmo-hnbgw - libosmo-sccp: # Full triggers would be: # trigger: > # master-openbsc, master-osmo-bsc, master-osmo-iuh, master-osmo-msc, # master-osmo-sgsn, master-osmo-hnodeb, master-osmo-hnbgw # Optimized: # (see comment at libosmocore) trigger: > master-openbsc, master-osmo-bsc, master-osmo-bsc-nat, master-osmo-iuh, master-osmo-msc, master-osmo-sgsn - libosmocore: slave_axis: !!python/tuple [io_uring] # OS#6405 a1_name: arch a1: !!python/tuple [arm-none-eabi, amd64] combination_filter: '!(arch=="arm-none-eabi" && label=="FreeBSD_amd64")' cmd: '{docker_run_ccache} {docker_img} {timeout_cmd} /build/contrib/jenkins_arch.sh "$arch"' # Full triggers would be: # trigger: > # master-libosmo-abis, master-libosmo-netif, master-libosmo-sccp, master-openbsc, # master-osmo-bsc, master-osmo-bts, master-osmo-ggsn, master-osmo-gmr, master-osmo-hlr, # master-osmo-iuh, master-osmo-mgw, master-osmo-msc, master-osmo-pcap, master-osmo-pcu, # master-osmo-sgsn, master-osmo-sip-connector, master-osmo-tetra, master-osmo-hnodeb # master-osmocom-bb, master-simtrace, master-xgoldmon # Optimized: # libosmocore # -> master-libosmo-abis # -> master-libosmo-netif # -> master-libosmo-sccp # -> master-openbsc # -> master-osmo-bsc # -> master-osmo-bsc-nat # -> master-osmo-iuh # -> master-osmo-msc # -> master-osmo-sgsn # -> master-osmo-hnodeb # -> master-osmo-msc # -> master-osmo-sgsn # -> master-osmo-hlr # -> master-osmo-mgw # -> master-osmo-sgsn # -> master-osmo-bts # -> master-libosmo-gprs # -> master-osmo-pcu # -> master-libosmo-pfcp # -> master-osmo-upf # -> master-osmo-hnbgw # -> master-osmo-ggsn # -> master-osmo-sgsn # [...] trigger: > master-libosmo-abis, master-libosmo-pfcp, master-osmo-gbproxy, master-osmo-ggsn, master-osmo-gmr, master-osmo-pcap, master-osmo-sip-connector, master-osmo-tetra, master-osmo-trx, master-osmocom-bb, master-simtrace, master-xgoldmon - libsmpp34: trigger: master-osmo-msc, master-openbsc - libtelnet - libusrp: trigger: master-osmo-trx - openbsc: a1_name: SMPP a1: !!python/tuple [--enable-smpp] a2_name: MGCP a2: !!python/tuple [--enable-mgcp-transcoding, --disable-mgcp-transcoding] a3_name: IU a3: !!python/tuple [--disable-iu] cmd: | {docker_run_ccache} \ -e IU="$IU" \ -e SMPP="$SMPP" \ -e MGCP="$MGCP" \ {docker_img} {timeout_cmd} /build/contrib/jenkins.sh - osmo-bsc - osmo-bsc-nat - osmo-bts: slave_axis: !!python/tuple [osmocom-master, rpi4-raspbian11] a1_name: FIRMWARE_VERSION a1: !!python/tuple [master, femtobts_v2.7, superfemto_v2.4, superfemto_v3.0.1pre, superfemto_v3.1, superfemto_v5.1, v2017.01, origin/nrw/litecell15, origin/nrw/oc2g] a2_name: BTS_MODEL a2: !!python/tuple [sysmo, oct, trx, oct+trx, lc15, oc2g] a3_name: WITH_MANUALS a3: !!python/tuple ["1", "0"] combination_filter: > (FIRMWARE_VERSION == "master" && WITH_MANUALS == "1" && label == "osmocom-master") || (FIRMWARE_VERSION == "master" && BTS_MODEL == "trx" && WITH_MANUALS == "0" && label == "rpi4-raspbian11") || (FIRMWARE_VERSION == "femtobts_v2.7" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master") || (FIRMWARE_VERSION == "superfemto_v2.4" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master") || (FIRMWARE_VERSION == "superfemto_v3.0.1pre" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master") || (FIRMWARE_VERSION == "superfemto_v3.1" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master") || (FIRMWARE_VERSION == "superfemto_v5.1" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master") || (FIRMWARE_VERSION == "v2017.01" && BTS_MODEL == "lc15" && WITH_MANUALS == "0" && label == "osmocom-master") || (FIRMWARE_VERSION == "origin/nrw/litecell15" && BTS_MODEL == "lc15" && WITH_MANUALS == "0" && label == "osmocom-master") || (FIRMWARE_VERSION == "origin/nrw/oc2g" && BTS_MODEL == "oc2g" && WITH_MANUALS == "0" && label == "osmocom-master") concurrent: false cmd: | DOCKER_IMG="{docker_img}" case "$(arch)" in arm*) DOCKER_IMG="$DOCKER_IMG-arm" ;; esac {docker_run_ccache} \ -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ -e WITH_MANUALS="$WITH_MANUALS" \ "$DOCKER_IMG" {timeout_cmd} /build/contrib/jenkins_bts_model.sh "$BTS_MODEL" - osmo_dia2gsup: repos_url: '{gerrit_url}/erlang/{repos}' cmd: '{docker_run} {docker_img_erlang} {timeout_cmd} /build/contrib/jenkins.sh' - osmo-epdg: repos_url: '{gerrit_url}/erlang/{repos}' cmd: '{docker_run} {docker_img_erlang} {timeout_cmd} /build/contrib/jenkins.sh' - osmo-e1-hardware: a2_name: JOB_TYPE a2: !!python/tuple ["firmware", "gateware", "manuals", "software"] cmd: | DOCKER_IMG="{docker_img}" case "$JOB_TYPE" in firmware|gateware) DOCKER_IMG="registry.osmocom.org/$USER/fpga-build" docker pull "$DOCKER_IMG" ;; esac {docker_run} \ -e JOB_TYPE="$JOB_TYPE" \ "$DOCKER_IMG" \ {timeout_cmd} /build/contrib/jenkins.sh --publish ssh: - binaries_ftp.osmocom.org - docs_ftp.osmocom.org - ice40-usbtrace: repos_url: '{gitea_url}/electronics/{repos}' docker_img: 'registry.osmocom.org/$USER/fpga-build' cmd: 'docker pull {docker_img} && {docker_run} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh --publish' ssh: - binaries_ftp.osmocom.org - docs_ftp.osmocom.org - no2bootloader: repos_url: 'https://github.com/no2fpga/{repos}' docker_img: 'registry.osmocom.org/$USER/fpga-build' cmd: 'docker pull {docker_img} && {docker_run} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh --publish' email: jenkins-notifications@lists.osmocom.org laforge@gnumonks.org kredon@sysmocom.de 246tnt@gmail.com ssh: - binaries_ftp.osmocom.org - docs_ftp.osmocom.org - osmo-fl2k: repos_url: '{gitea_url}/sdr/{repos}' - osmo-ggsn: a1_name: GTP a1: !!python/tuple [--enable-gtp-linux,--disable-gtp-linux] a2_name: WITH_MANUALS a2: !!python/tuple ["1", "0"] combination_filter: > (GTP == "--enable-gtp-linux" && WITH_MANUALS == "0") || (GTP == "--disable-gtp-linux" && WITH_MANUALS == "1") cmd: | {docker_run_ccache} \ -e GTP="$GTP" \ -e WITH_MANUALS="$WITH_MANUALS" \ {docker_img} {timeout_cmd} /build/contrib/jenkins.sh trigger: master-osmo-sgsn - osmo-upf - osmo-gmr: repos_url: '{gitea_url}/satellite/{repos}' email: jenkins-notifications@lists.osmocom.org 246tnt@gmail.com - osmo-gsm-manuals - osmo_gsup: repos_url: '{gerrit_url}/erlang/{repos}' cmd: '{docker_run_ccache} {docker_img_erlang} {timeout_cmd} /build/contrib/jenkins.sh' - osmo-gsm-tester: cmd: '{docker_run} {docker_img} {timeout_cmd} /build/contrib/jenkins-build-manuals.sh' - osmo-hlr - osmo-iuh: # Full triggers would be: # trigger: master-osmo-msc, master-osmo-sgsn, master-osmo-hnodeb, master-osmo-hnbgw # Optimized: # (see comment at libosmocore) trigger: > master-osmo-msc, master-osmo-sgsn, master-osmo-hnodeb, master-osmo-hnbgw - osmo-ir77: repos_url: '{gitea_url}/satellite/{repos}' email: jenkins-notifications@lists.osmocom.org 246tnt@gmail.com - osmo-mgw: trigger: master-osmo-msc, master-osmo-bsc - osmo-msc: a1_name: IU a1: !!python/tuple [--enable-iu, --disable-iu] a2_name: WITH_MANUALS a2: !!python/tuple ["1", "0"] combination_filter: > (IU == "--enable-iu" && WITH_MANUALS == "1") || (IU == "--disable-iu" && WITH_MANUALS == "0") cmd: | {docker_run_ccache} \ -e IU="$IU" \ -e WITH_MANUALS="$WITH_MANUALS" \ {docker_img} {timeout_cmd} /build/contrib/jenkins.sh - osmo-pcap - osmo-pcu: slave_axis: !!python/tuple [osmocom-master, rpi4-raspbian11] a1_name: FIRMWARE_VERSION a1: !!python/tuple [master, v2017.01, origin/nrw/litecell15] a2_name: with_vty a2: !!python/tuple [True, False] a3_name: with_dsp a3: !!python/tuple [sysmo, lc15, none] a4_name: WITH_MANUALS a4: !!python/tuple ["1", "0"] combination_filter: > (with_vty == "True" && with_dsp == "sysmo" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "osmocom-master") || (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "osmocom-master") || (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="v2017.01" && WITH_MANUALS == "0" && label == "osmocom-master") || (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="origin/nrw/litecell15" && WITH_MANUALS == "0" && label == "osmocom-master") || (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1" && label == "osmocom-master") || (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "rpi4-raspbian11") cmd: | DOCKER_IMG="{docker_img}" case "$(arch)" in arm*) DOCKER_IMG="$DOCKER_IMG-arm" ;; esac {docker_run_ccache} \ -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ -e with_vty="$with_vty" \ -e with_dsp="$with_dsp" \ -e WITH_MANUALS="$WITH_MANUALS" \ "$DOCKER_IMG" {timeout_cmd} /build/contrib/jenkins.sh - osmo-python-tests: repos_url: '{gerrit_url}/python/{repos}' - osmo-sgsn: a1_name: IU a1: !!python/tuple [--enable-iu, --disable-iu] a2_name: WITH_MANUALS a2: !!python/tuple ["1", "0"] combination_filter: > (IU == "--enable-iu" && WITH_MANUALS == "1") || (IU == "--disable-iu" && WITH_MANUALS == "0") cmd: | {docker_run_ccache} \ -e IU="$IU" \ -e WITH_MANUALS="$WITH_MANUALS" \ {docker_img} {timeout_cmd} /build/contrib/jenkins.sh - osmo-sip-connector: email: jenkins-notifications@lists.osmocom.org laforge@gnumonks.org holger@freyther.de - osmo-tetra: email: jenkins-notifications@lists.osmocom.org laforge@gnumonks.org 246tnt@gmail.com - osmo-trx: slave_axis: !!python/tuple [osmocom-master,rpi4-raspbian11] a1_name: INSTR a1: !!python/tuple [--with-sse, --without-sse, --with-neon, --with-neon-vfpv4] a2_name: WITH_MANUALS a2: !!python/tuple ["1", "0"] combination_filter: > (INSTR == "--without-sse" && WITH_MANUALS == "1" && label == "osmocom-master") || (INSTR == "--with-sse" && WITH_MANUALS == "0" && label == "osmocom-master") || (INSTR == "--with-neon" && WITH_MANUALS == "0" && label == "rpi4-raspbian11") || (INSTR == "--with-neon-vfpv4" && WITH_MANUALS == "0" && label == "rpi4-raspbian11") cmd: | DOCKER_IMG="{docker_img}" case "$(arch)" in arm*) DOCKER_IMG="$DOCKER_IMG-arm" ;; esac {docker_run_ccache} \ -e INSTR="$INSTR" \ -e WITH_MANUALS="$WITH_MANUALS" \ "$DOCKER_IMG" {timeout_cmd} /build/contrib/jenkins.sh - osmocom-bb - osmo-sysmon - osmo-remsim - osmo-asf4-dfu: cmd: '{docker_run_ccache} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh --publish' email: jenkins-notifications@lists.osmocom.org laforge@gnumonks.org ewild@sysmocom.de ssh: - binaries_ftp.osmocom.org - docs_ftp.osmocom.org - osmo-ccid-firmware: cmd: '{docker_run_ccache} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh --publish' email: jenkins-notifications@lists.osmocom.org laforge@gnumonks.org ewild@sysmocom.de ssh: - binaries_ftp.osmocom.org - docs_ftp.osmocom.org - simtrace: repos_url: '{gitea_url}/sim-card/{repos}' email: jenkins-notifications@lists.osmocom.org laforge@gnumonks.org kredon@sysmocom.de - simtrace2: cmd: '{docker_run_ccache} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh --publish' email: jenkins-notifications@lists.osmocom.org laforge@gnumonks.org kredon@sysmocom.de ssh: - binaries_ftp.osmocom.org - docs_ftp.osmocom.org - osmo-opencm3-projects: repos_url: '{gitea_url}/electronics/{repos}' cmd: '{docker_run} {docker_img} {timeout_cmd} /build/contrib/jenkins.sh --publish' email: jenkins-notifications@lists.osmocom.org laforge@gnumonks.org kredon@sysmocom.de ssh: - binaries_ftp.osmocom.org - docs_ftp.osmocom.org - osmo-e1d - osmo-cbc - osmo-e1-recorder - gapk - osmo-uecups - osmo-el2tpd - osmo-smlc - osmo-gbproxy - osmo-hnodeb - osmo-hnbgw: a1_name: PFCP a1: !!python/tuple ["1", "0"] a2_name: WITH_MANUALS a2: !!python/tuple ["1", "0"] a3_name: NFTABLES a3: !!python/tuple ["1", "0"] combination_filter: > (PFCP == "1" && WITH_MANUALS == "1" && NFTABLES == "1") || (PFCP == "0" && WITH_MANUALS == "0" && NFTABLES == "0") cmd: | {docker_run_ccache} \ -e PFCP="$PFCP" \ -e WITH_MANUALS="$WITH_MANUALS" \ -e NFTABLES="$NFTABLES" \ {docker_img} {timeout_cmd} /build/contrib/jenkins.sh - rtl-sdr: repos_url: '{gitea_url}/sdr/{repos}' email: laforge@gnumonks.org steve@steve-m.de - pysim: concurrent: false slave_axis: !!python/tuple [simtester,osmocom-master] a2_name: JOB_TYPE a2: !!python/tuple ["test", "pylint", "docs"] combination_filter: > (JOB_TYPE == "test" && label == "simtester") || (JOB_TYPE == "pylint" && label == "osmocom-master") || (JOB_TYPE == "docs" && label == "osmocom-master") cmd: | case "$JOB_TYPE" in "test") {timeout_cmd} ./contrib/jenkins.sh ;; *) {docker_run} \ -e JOB_TYPE="$JOB_TYPE" \ {docker_img} \ {timeout_cmd} /build/contrib/jenkins.sh ;; esac - sysmo-usim-tool: concurrent: false cmd: cd ./tests; {timeout_cmd} ./run-tests slave_axis: !!python/tuple [simtester] repos_url: 'https://gitea.sysmocom.de/sysmocom/{repos}' - dahdi-tools - xgoldmon: repos_url: 'https://github.com/2b-as/{repos}' cmd: | rm -rf osmo-ci git clone --depth=1 https://gerrit.osmocom.org/osmo-ci -b master {docker_run_ccache} {docker_img} {timeout_cmd} /build/osmo-ci/scripts/xgoldmon-jenkins.sh jobs: - 'master-{repos}' - job-template: name: 'master-{repos}' project-type: matrix concurrent: '{obj:concurrent}' disabled: '{obj:disabled}' retry-count: 3 # scm checkout properties: - build-discarder: days-to-keep: 30 num-to-keep: 120 description: | Automatic jenkins test job of {repos}

Auto-generated using Jenkins Job Builder. DO NOT EDIT MANUALLY! execution-strategy: sequential: '{obj:sequential}' combination-filter: | {obj:combination_filter} axes: - axis: type: slave name: label values: '{obj:slave_axis}' - axis: type: user-defined name: '{obj:a1_name}' values: '{obj:a1}' - axis: type: user-defined name: '{obj:a2_name}' values: '{obj:a2}' - axis: type: user-defined name: '{obj:a3_name}' values: '{obj:a3}' - axis: type: user-defined name: '{obj:a4_name}' values: '{obj:a4}' scm: - git: url: '{obj:repos_url}' branches: '{obj:branches}' refspec: name: wipe-workspace: false skip-tag: true submodule: recursive: true triggers: - pollscm: cron: "H/5 * * * *" ignore-post-commit-hooks: false - timed: "H H * * *" builders: - shell: '{obj:cmd}' publishers: - archive: allow-empty: true artifacts: '**/core, **/testsuite.log, **/workspace.tar.xz' - warnings: console-log-parsers: - 'GNU C Compiler 4 (gcc)' resolve-relative-paths: true - trigger: project: '{obj:trigger}' - trigger: project: 'Osmocom_OBS_master' - email: recipients: '{obj:email}' send-to-individuals: true wrappers: - ssh-agent-credentials: users: '{obj:ssh}' # vim: expandtab tabstop=2 shiftwidth=2