diff options
Diffstat (limited to 'jobs/master-builds.yml')
-rw-r--r-- | jobs/master-builds.yml | 383 |
1 files changed, 273 insertions, 110 deletions
diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index 7fc306f..971b642 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -5,9 +5,8 @@ # following default values can be overridden by each repo disabled: false concurrent: true - node: 'osmocom-master-debian9' # axes related defaults - slave_axis: !!python/tuple [osmocom-master-debian9] + slave_axis: !!python/tuple [osmocom-master] a1_name: a1 a1: !!python/tuple [default] a2_name: a2 @@ -23,34 +22,68 @@ # Documentation for variables (keep in sync!): # https://osmocom.org/projects/osmocom-servers/wiki/Jenkins_build_verification_jobs docker_run: | - ARTIFACT_STORE="$HOME/jenkins_build_artifact_store" - mkdir -p "$ARTIFACT_STORE" docker run --rm=true \ --cap-add SYS_PTRACE \ - -e ARTIFACT_STORE=/artifact_store \ -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 "$ARTIFACT_STORE:/artifact_store" \ -v "$HOME/.ssh:/home/build/.ssh:ro" \ - docker_img: '$USER/debian-buster-jenkins' - cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh' - wrappers: [] + 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 - git_base_url: https://gerrit.osmocom.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 + - asn1c: + branches: + - osmo-iuh/master - libasn1c: # Full triggers would be: @@ -66,17 +99,17 @@ # 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 + # master-osmo-msc, master-osmo-sgsn # Optimized: # (see comment at libosmocore) trigger: > master-libosmo-netif, master-osmo-bts - libosmo-dsp: - git_base_url: https://gitea.osmocom.org/sdr + repos_url: '{gitea_url}/sdr/{repos}' cmd: | - {docker_run} \ - {docker_img} sh -ex -c \ + {docker_run_ccache} \ + {docker_img} {timeout_cmd} sh -ex -c \ 'autoreconf -fi; \ ./configure; \ $MAKE $PARALLEL_MAKE; \ @@ -96,13 +129,13 @@ - libosmo-netif: # Full triggers would be: # trigger: > - # master-libosmo-sccp, master-openbsc, mastere-osmo-hlr, master-osmo-iuh, + # master-libosmo-sigtran, 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-libosmo-sigtran, master-osmo-hlr, master-osmo-mgw, master-osmo-sgsn @@ -117,15 +150,14 @@ master-osmo-upf, master-osmo-hnbgw - - libosmo-sccp: + - libosmo-sigtran: # Full triggers would be: # trigger: > - # master-openbsc, master-osmo-bsc, master-osmo-iuh, master-osmo-msc, + # 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, @@ -133,23 +165,23 @@ 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} {docker_img} /build/contrib/jenkins_arch.sh "$arch"' + 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-libosmo-abis, master-libosmo-netif, master-libosmo-sigtran, # 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, SIMtrace, xgoldmon + # master-osmocom-bb, master-simtrace, master-xgoldmon # Optimized: # libosmocore # -> master-libosmo-abis # -> master-libosmo-netif - # -> master-libosmo-sccp - # -> master-openbsc + # -> master-libosmo-sigtran # -> master-osmo-bsc # -> master-osmo-bsc-nat # -> master-osmo-iuh @@ -181,35 +213,21 @@ master-osmo-tetra, master-osmo-trx, master-osmocom-bb, - SIMtrace, - xgoldmon + master-simtrace, + master-xgoldmon - libsmpp34: - trigger: master-osmo-msc, master-openbsc + trigger: master-osmo-msc - 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} \ - -e IU="$IU" \ - -e SMPP="$SMPP" \ - -e MGCP="$MGCP" \ - {docker_img} /build/contrib/jenkins.sh - - osmo-bsc - osmo-bsc-nat - osmo-bts: - slave_axis: !!python/tuple [osmocom-master-debian9, rpi4-raspbian11] + slave_axis: !!python/tuple [osmocom-master, raspbian] 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 @@ -217,34 +235,89 @@ a3_name: WITH_MANUALS a3: !!python/tuple ["1", "0"] combination_filter: > - (FIRMWARE_VERSION == "master" && WITH_MANUALS == "1" && label == "osmocom-master-debian9") || - (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-debian9") || - (FIRMWARE_VERSION == "superfemto_v2.4" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || - (FIRMWARE_VERSION == "superfemto_v3.0.1pre" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || - (FIRMWARE_VERSION == "superfemto_v3.1" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || - (FIRMWARE_VERSION == "superfemto_v5.1" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || - (FIRMWARE_VERSION == "v2017.01" && BTS_MODEL == "lc15" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || - (FIRMWARE_VERSION == "origin/nrw/litecell15" && BTS_MODEL == "lc15" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || - (FIRMWARE_VERSION == "origin/nrw/oc2g" && BTS_MODEL == "oc2g" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") + (FIRMWARE_VERSION == "master" && WITH_MANUALS == "1" && label == "osmocom-master") || + (FIRMWARE_VERSION == "master" && BTS_MODEL == "trx" && WITH_MANUALS == "0" && label == "raspbian") || + (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_run} \ + DOCKER_IMG="{docker_img}" + case "$(arch)" in + arm*|aarch64) + DOCKER_IMG="$DOCKER_IMG-arm" + SETARCH_CMD="setarch linux32" + ;; + esac + {docker_run_ccache} \ -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ -e WITH_MANUALS="$WITH_MANUALS" \ - {docker_img} /build/contrib/jenkins_bts_model.sh "$BTS_MODEL" + "$DOCKER_IMG" {timeout_cmd} $SETARCH_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}' + a2_name: JOB_TYPE + a2: !!python/tuple ["build", "manuals"] + cmd: | + case "$JOB_TYPE" in + build) + {docker_run} {docker_img_erlang} {timeout_cmd} /build/contrib/jenkins.sh + ;; + manuals) + {docker_run} {docker_img} {timeout_cmd} /build/contrib/jenkins_manuals.sh + ;; + esac + + - osmo-s1gw: + 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} /build/contrib/jenkins.sh --publish' + 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: - git_base_url: https://github.com/no2fpga + repos_url: 'https://github.com/no2fpga/{repos}' docker_img: 'registry.osmocom.org/$USER/fpga-build' - cmd: 'docker pull {docker_img} && {docker_run} {docker_img} /build/contrib/jenkins.sh --publish' + 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: - git_base_url: https://gitea.osmocom.org/sdr + repos_url: '{gitea_url}/sdr/{repos}' + - osmo-ggsn: a1_name: GTP a1: !!python/tuple [--enable-gtp-linux,--disable-gtp-linux] @@ -254,23 +327,26 @@ (GTP == "--enable-gtp-linux" && WITH_MANUALS == "0") || (GTP == "--disable-gtp-linux" && WITH_MANUALS == "1") cmd: | - {docker_run} \ + {docker_run_ccache} \ -e GTP="$GTP" \ -e WITH_MANUALS="$WITH_MANUALS" \ - {docker_img} /build/contrib/jenkins.sh + {docker_img} {timeout_cmd} /build/contrib/jenkins.sh trigger: master-osmo-sgsn - osmo-upf - osmo-gmr: - git_base_url: https://gitea.osmocom.org/satellite + repos_url: '{gitea_url}/satellite/{repos}' email: jenkins-notifications@lists.osmocom.org 246tnt@gmail.com - - osmo-gsm-manuals: - node: 'osmocom-master-debian9' + - 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} /build/contrib/jenkins-build-manuals.sh' + cmd: '{docker_run} {docker_img} {timeout_cmd} /build/contrib/jenkins-build-manuals.sh' - osmo-hlr @@ -285,6 +361,10 @@ 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 @@ -294,18 +374,18 @@ a2_name: WITH_MANUALS a2: !!python/tuple ["1", "0"] combination_filter: > - (IU == "--enable-iu" && WITH_MANUALS == "0") || - (IU == "--disable-iu" && WITH_MANUALS == "1") + (IU == "--enable-iu" && WITH_MANUALS == "1") || + (IU == "--disable-iu" && WITH_MANUALS == "0") cmd: | - {docker_run} \ + {docker_run_ccache} \ -e IU="$IU" \ -e WITH_MANUALS="$WITH_MANUALS" \ - {docker_img} /build/contrib/jenkins.sh + {docker_img} {timeout_cmd} /build/contrib/jenkins.sh - osmo-pcap - osmo-pcu: - slave_axis: !!python/tuple [osmocom-master-debian9, rpi4-raspbian11] + slave_axis: !!python/tuple [osmocom-master, raspbian] a1_name: FIRMWARE_VERSION a1: !!python/tuple [master, v2017.01, origin/nrw/litecell15] a2_name: with_vty @@ -315,19 +395,36 @@ 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-debian9") || - (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || - (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="v2017.01" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || - (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="origin/nrw/litecell15" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || - (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1" && label == "osmocom-master-debian9") || - (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "rpi4-raspbian11") + (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 == "raspbian") cmd: | - {docker_run} \ + DOCKER_IMG="{docker_img}" + case "$(arch)" in + arm*|aarch64) + DOCKER_IMG="$DOCKER_IMG-arm" + SETARCH_CMD="setarch linux32" + ;; + 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} /build/contrib/jenkins.sh + "$DOCKER_IMG" {timeout_cmd} $SETARCH_CMD /build/contrib/jenkins.sh + + - osmo-python-tests: + repos_url: '{gerrit_url}/python/{repos}' + + - pyosmocom: + repos_url: '{gerrit_url}/python/{repos}' + a1_name: JOB_TYPE + a1: !!python/tuple ["test", "pylint", "docs"] + cmd: | + {docker_run} -e JOB_TYPE="$JOB_TYPE" {docker_img} {timeout_cmd} /build/contrib/jenkins.sh - osmo-sgsn: a1_name: IU @@ -335,13 +432,13 @@ a2_name: WITH_MANUALS a2: !!python/tuple ["1", "0"] combination_filter: > - (IU == "--enable-iu" && WITH_MANUALS == "0") || - (IU == "--disable-iu" && WITH_MANUALS == "1") + (IU == "--enable-iu" && WITH_MANUALS == "1") || + (IU == "--disable-iu" && WITH_MANUALS == "0") cmd: | - {docker_run} \ + {docker_run_ccache} \ -e IU="$IU" \ -e WITH_MANUALS="$WITH_MANUALS" \ - {docker_img} /build/contrib/jenkins.sh + {docker_img} {timeout_cmd} /build/contrib/jenkins.sh - osmo-sip-connector: email: jenkins-notifications@lists.osmocom.org laforge@gnumonks.org holger@freyther.de @@ -350,39 +447,60 @@ email: jenkins-notifications@lists.osmocom.org laforge@gnumonks.org 246tnt@gmail.com - osmo-trx: - slave_axis: !!python/tuple [osmocom-master-debian9,rpi4-raspbian11] + slave_axis: !!python/tuple [osmocom-master,raspbian] 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-debian9") || - (INSTR == "--with-sse" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || - (INSTR == "--with-neon" && WITH_MANUALS == "0" && label == "rpi4-raspbian11") || - (INSTR == "--with-neon-vfpv4" && WITH_MANUALS == "0" && label == "rpi4-raspbian11") + (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 == "raspbian") || + (INSTR == "--with-neon-vfpv4" && WITH_MANUALS == "0" && label == "raspbian") cmd: | - {docker_run} \ + DOCKER_IMG="{docker_img}" + case "$(arch)" in + arm*|aarch64) + DOCKER_IMG="$DOCKER_IMG-arm" + SETARCH_CMD="setarch linux32" + ;; + esac + {docker_run_ccache} \ -e INSTR="$INSTR" \ -e WITH_MANUALS="$WITH_MANUALS" \ - {docker_img} /build/contrib/jenkins.sh + "$DOCKER_IMG" {timeout_cmd} $SETARCH_CMD /build/contrib/jenkins.sh - osmocom-bb - osmo-sysmon - osmo-remsim - osmo-asf4-dfu: - cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh --publish' + 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} {docker_img} /build/contrib/jenkins.sh --publish' + 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} {docker_img} /build/contrib/jenkins.sh --publish' + 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: - git_base_url: https://gitea.osmocom.org/electronics - docker_img: '$USER/debian-bullseye-jenkins' - cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh --publish' + 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 @@ -393,25 +511,65 @@ - osmo-smlc - osmo-gbproxy - osmo-hnodeb - - osmo-hnbgw + + - 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: - git_base_url: https://gitea.osmocom.org/sdr + repos_url: '{gitea_url}/sdr/{repos}' email: laforge@gnumonks.org steve@steve-m.de - pysim: concurrent: false - slave_axis: !!python/tuple [simtester] - cmd: 'PUBLISH=1 WITH_MANUALS=1 /usr/bin/timeout 30m ./contrib/jenkins.sh' + 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; ./run-tests + cmd: cd ./tests; {timeout_cmd} ./run-tests slave_axis: !!python/tuple [simtester] - git_base_url: https://gitea.sysmocom.de/sysmocom + 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}' @@ -425,11 +583,9 @@ - build-discarder: days-to-keep: 30 num-to-keep: 120 - artifact-days-to-keep: -1 - artifact-num-to-keep: -1 description: | Automatic jenkins test job of - <a href="{git_base_url}/{repos}">{repos}</a> + <a href="{repos_url}">{repos}</a> <br/><br/> <b>Auto-generated using Jenkins Job Builder. DO NOT EDIT MANUALLY!</b> @@ -437,7 +593,6 @@ sequential: '{obj:sequential}' combination-filter: | {obj:combination_filter} - node: '{obj:node}' axes: - axis: type: slave @@ -462,9 +617,8 @@ scm: - git: - url: "{git_base_url}/{repos}" - branches: - - 'origin/master' + url: '{obj:repos_url}' + branches: '{obj:branches}' refspec: name: wipe-workspace: false @@ -480,20 +634,29 @@ builders: - shell: '{obj:cmd}' + - shell: | + # Remove workspace on success to free up space. Create an empty dir + # so the job does not abort when attempting to collect artifacts. + rm -rf "$WORKSPACE" + mkdir -p "$WORKSPACE" publishers: - archive: allow-empty: true - artifacts: '**/core, **/testsuite.log' + 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: '{obj:wrappers}' + wrappers: + - ssh-agent-credentials: + users: '{obj:ssh}' # vim: expandtab tabstop=2 shiftwidth=2 |