aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
AgeCommit message (Collapse)AuthorFilesLines
2020-03-12ansible: Use osmo-gsm-tester docker image in jenkins job osmo-gsm-tester_virtualPau Espin Pedrol1-1/+2
Let's use the osmo-gsm-tester docker image based on the debian-stretch-jenkins instead of the later directly, since the former has all osmo-gsm-tester required dependencies. Change-Id: I256eeed82eef0969d93dc015e043b0417f56f52c
2020-03-03update-osmo-ci-slaves: Fail jenkins jobs on script failurePau Espin Pedrol2-1/+3
It's been noted that jenkins job update-osmo-ci-on-slaves succeeds even if make script called by some children function fails: """ ../make/Makefile:57: recipe for target 'docker-build' failed make: *** [docker-build] Terminated make: Leaving directory '/home/osmocom-build/osmo-ci/_docker_playground/debian-stretch-jenkins' + exit 1 Finished: SUCCESS """ Change-Id: Iab9bc49eebee0f42657ff3ab5ffaa10315446440
2020-02-26osmocom-*-packages: Build neocon packageHarald Welte2-0/+4
Change-Id: Ie0243bf066d6bc369737b8d659d09e3871cae79d
2020-02-26osmocom-latest-packages: Allow non-osmocom git URL in checkout()Harald Welte1-11/+9
Change-Id: I33bbc47598cb2c31cdc4209cd2fe3e6f6dd67e7a
2020-02-26osmocom-nightly-packages: Allow non-osmocom git URL in checkout()Harald Welte1-3/+8
Change-Id: Ib768ff2822df5875820e4f12390004ed18614144
2020-02-24osmocom-nightly/latest: Build open5gsHarald Welte2-4/+31
This is unfortunately harder than expected. The problem is the use of meson external dependencies using 'wrap', specifically for freeDiameter. As a debian source package needs to include the entire source, the dpkg helpers are calling 'meson --wrap-mode=nodownload' at build time. This in turn requires us to download the freeDiameter after the git clone of open5gs. Unfortunately this creates a git checkout in a sub directory of the open5gs repo, which is not part of the git history. git-buildpackage hence generates a source tarball *without* freeDiameter. I tried very hard in several methods like * git commit subprojects/freeDiameter * adding subprojects/freeDiameter as git submodule unfortuantely none of them helped. In the end, I resorted to using 'dpkg-buildpackage' instead of 'git-buildpackage' (gbp), which then has other disadvantages, such as not being able to determine the output directory to which the .tar.* and .dsc files are written to. In the end, the solution implemented here is the only one I could make work. Change-Id: I6752288868e5ee1378c0776b1be9f06750017c41
2020-01-16OBS: clone from gerrit.osmocom.orgOliver Smith3-4/+20
Work around "garbage at end of loose object" errors that occasionally cause these jenkins jobs to fail. A few repositories are not hosted on gerrit, so they still get cloned from git.osmocom.org. However, having almost all repositories cloned from gerrit should improve the situation a lot. Related: OS#4083 Change-Id: Id8f08a1bc10d6c81be9ad44c60646e2ea9f6cf4e
2020-01-15jobs/gerrit-verifications.yml: add erlang reposOliver Smith1-1/+2
Run contrib/jenkins.sh in erlang repositories, that were recently updated (osmo_gsup, osmo_dia2gsup, osmo_ss7). Depends: docker-playground Ia3eaec6090c9652549b2850de74ee21730374bbd Related: OS#4345 Change-Id: I05d152de6b7a04dee935d79b9987c511351eca95
2020-01-15docker: move to docker-playground.gitOliver Smith1-0/+5
Instead of building "osmocom:deb9_amd64" from this repository, build "$USER/debian-stretch-jenkins" from docker-playground.git (same Dockerfile). Adjust all jobs to use the new image name. Add a new "update-osmo-ci-on-slaves-dp" jenkins job, which triggers the existing "update-osmo-ci-on-slaves" job whenever docker-playground.git changes. Replace docker/rebuild_osmocom_jenkins_image.sh with scripts/osmo-ci-docker-rebuild.sh, so we can get rid of the docker dir. I thought about dropping the script completely, and directly writing the two lines into contrib/jenkins.sh. But I kept the extra script for convenience, when testing locally. Related: OS#4345 Depends: docker-playground I125ae8a6bcabbd1f485028c79b0abacda0622c3a Change-Id: I30a61aebcadef5536e74edd35e1c75ef77a2da9f
2020-01-15docker_images_require: add symlink code pathOliver Smith1-10/+16
Make development easier by skipping fetch, checkout and reset --hard if _docker_playground is a symlink. Document _docker_playground in README.adoc and explain how to set up the symlink. Change-Id: If6209ff71488d39e590f5f8506b9d73ad0314846
2019-12-17osmo-depcheck: Skip comment lines containing PKG_CHECK_CONFIGHarald Welte1-0/+3
This is a problem e.g. with current osmo-hlr containing "\t# FIXME: PKG_CHECK_MODULES() may return cached result here!" Change-Id: I30d539a895bf39aaabe907be9eb52d7e4b3977a7
2019-12-17verify_*.py: Ignore UTF-8 decoding errorsHarald Welte2-2/+2
Some of our source files are inherited from other sources, particularly for microcontroller firmware projects. We cannot assume they're all clean UTF-8. Let's ignore any decoder errors when verifying log statements and value_string arrays. Closes: OS#4334 Change-Id: I1e19f4bc6bee46481c6ea743e8334bd4485909be
2019-12-17implement osmo_source_subdir() for simtrace2Harald Welte1-0/+3
Change-Id: I3afad11991d2e8bd72f44bed05f7204653e63133
2019-10-11build-old-tags: remove LD_LIBRARY_PATHOliver Smith1-1/+0
Do not set LD_LIBRARY_PATH during builds, as this causes testsuites to use the wrong libraries. This bug appeared with libosmocore, it gets built for master first, and then an old version like 1.2.0. When using LD_LIBRARY_PATH, the tests during the 1.2.0 build are executed against the libosmo*.so from master, which causes a few tests to fail. Change-Id: I0bfb57e418b91c298337b9426448fbcfd7bf32e6
2019-07-22OBS: print date/time before git clone and on errorOliver Smith3-3/+15
The OBS job clones a lot of repositories from git.osmocom.org every night, so it is a good candidate to reproduce the "garbage at end of loose object" error we are getting sporadically. Print exact timestamps, so we can check if there is anything related in the server logs, when this error happens again. Related: OS#4083 Change-Id: Ic9a6d3f0c2b8dad2661ede793c21307f1680a52e
2019-07-21latest-packages: Enable osmo-remsim as new libosmo-abis is taggedHarald Welte1-4/+2
Change-Id: Id1902f8b79357ac280767edba3698450f67b7c37
2019-07-02common.sh: add docker_images_requireOliver Smith1-0/+26
Clone docker-playground.git, source its jenkins-common.sh and run docker_images_require from there. This will make it possible to run osmocom-release-tarballs.sh in a docker container, for which the Dockerfile is stored in docker-playground.git. Related: OS#3870 Change-Id: Ic4519ccb6978793054869862f8ca0e21d9cf5be4
2019-07-02scripts: add osmocom-release-tarballs.shOliver Smith1-0/+215
Generate tarball releases for all tags in all repositories. Related: OS#3870 Change-Id: I0a904c26e1c45aa46ddc59a01b776f2c7c5f947d
2019-07-02osmocom-list-commits: move repo list to common.shOliver Smith2-23/+26
Prepare for new script, which will use the same list of repositories. Related: OS#3870 Change-Id: I954b1d5229c44ebcec7e7228f2565a5c6755d16c
2019-07-01common.sh: osmo_git_last_commits_tags: add "all"Oliver Smith1-2/+4
Allow printing all tags instead of only the N most recent ones. Related: OS#3870 Change-Id: I684c6881915831b33b679e8ae873213beb034ab7
2019-06-17OBS: make nightly packages conflict with latestOliver Smith3-0/+95
Add conflicting dummy packages osmocom-nightly and osmocom-latest, and make all packages from each repository depend on the right one. As usually, the latest packages will only get changed when a new release appears. So the dependency will get introduced after tagging a new release. I have tested in an own OBS namespace, that everything works as expected. Related: OS#2640 Change-Id: I79c45e798c10a65443b9fb9ecb54393d1918608a
2019-05-29OBS: build osmo-gsm-manuals-dev in latestOliver Smith1-1/+21
Enable in osmocom-latest-packages.sh. Check it out and create the source package for the latest release as usually, but also create a second version for debian 8 with adjusted dependencies (like in nightly [1]). [1] Change-Id: I3570599ede51b974d350064f44f77e360fafd8b0 Related: OS#3899 Change-Id: Ib7251cca9116151e473798879375cd5eb48ff3ad
2019-05-29OBS: latest: remove redundant checkout in build()Oliver Smith1-1/+0
Don't checkout a specific version in build(), this is already done in checkout(). Change-Id: I74290968fe25a6311da0de26ff675bbd687ba156
2019-05-24nightly-packages: Update LimeSuite to latest tag (v19.0.4)Pau Espin Pedrol1-2/+2
Change-Id: Id6c27a924e3005ffadc7720190b261f089beada1
2019-05-11osmocom-latest-packages: Enable osmo-sysmonHarald Welte1-4/+2
Since libosmocore 1.1.0 and libosmo-netif 0.5.0 are released, we can address the TODO and build osmo-sysmon also in our latest feed. Change-Id: I48bd5aff2ae315b6f462facea70222eb2cdd2d58
2019-05-08nightly-packages: add osmo-gsm-manuals-debian8-jessieOliver Smith1-5/+8
Create a compatible package for debian 8 with adjusted dependencies. While at it, refactor create_osmo_trx_debian8_jessie() into a generic checkout_copy_debian8_jessie() function. Related: OS#3899 Depends: I5b9575ceb1141961e570643a5755a2bd6b6a4254 (osmo-gsm-manuals) Change-Id: I3570599ede51b974d350064f44f77e360fafd8b0
2019-04-18nightly-packages: Update limesuite hash to support LimeNet-MicroPau Espin Pedrol1-2/+2
Newer LimeSuite (at least 7557e291209fc66a78ffa74dd8314e75841f7c96) is required to have LimeNet-Micro working properly with osmo-trx. We update to current newest master since other fixes related to sample rate are applied after the commit mentioned above. Related: OS#3861 Change-Id: I62779f3bdbc4a459363a1d660d96d5f02f7763c1
2019-04-15OBS: build osmo-gsm-manuals-dev in nightlyOliver Smith2-1/+4
Enable in osmo-nightly-packages.sh, and add as coment in osmocom-nightly-packages.sh for now (needs a tagged release first). Related: OS#3899 Depends: I7edb5093e5b58eb3b0f7af2376476db4026db735 (osmo-gsm-manuals.git) Change-Id: Ideeae4f7846fa5626fe2c1f5a77e07a3c6e626fe
2019-04-12nightly-packages: Build latest tag of limesuitePau Espin Pedrol1-3/+13
Like we actually do already on latest-packages. Change-Id: I5a9e97a7a93c1d2a9983926cd0f5d7255e9666bd
2019-04-12nightly-packages: Move some code and rename some vars to look similar to ↵Pau Espin Pedrol2-25/+28
latest-packages Change-Id: I177bb7fb75e293ef665e95363a38c6b4f8e49c13
2019-04-11nightly-packages: Remove unused variablePau Espin Pedrol1-1/+0
Change-Id: Ic120dbc134cba9bd77098ab14a5dba3d5c4d71b9
2019-04-11nightly-packages: Remove duplicated checkPau Espin Pedrol1-5/+0
Change-Id: I9659e71d87b03971673da3bfb2101de9d5fe3c6a
2019-04-03osmocom-nightly-packages: build osmo-remsimHarald Welte2-0/+6
As of Change-Id Id5044b1835190edc948952d207a5196a18669eb1, osmo-remsim contains Debian packaging information and hence we can build it as part of our nightly feeds. We're not yet enabling 'latest' builds as we need to wait for the next libosmo-abis release for that (requires the IPA keepalive FSM). Change-Id: Ic367dc95f46cece4bd769061af860fd82b4bd2e9
2019-04-02build-old-tags: build libosmo-legacy-mgcpOliver Smith1-10/+44
Build osmo-mgw 1.4.0 (which provides libosmo-legacy-mgcp) and install it into a different temp dir. Allows properly building osmo-bsc 1.2.x, as soon as a new release is tagged, which makes it use LIBOSMOLEGACYMGCP_CFLAGS and therefore pick up the include path properly [1]. osmo-mgw 1.4.0's "make check" doesn't pass right now, so add a check parameter to build_repo() and disable them when building libosmo-legacy-mgcp. The checks will get executed later, when the depends are installed and we are building various tags of Osmocom repos, including osmo-mgw 1.4.0. While at it, slightly refactor build_repo() to put all arguments into descriptive variable names (as it is getting a bit longer now). [1]: Change-Id: Ibd7948f12da710f8ca2b8fde8870f134308eb908 Related: OS#3867 Change-Id: I63d16f8e44c14dee46e2ef3fd050a421017c56b0
2019-03-30Cosmetic: build-old-tags: osmo-msc: note fixed inOliver Smith1-1/+1
Change-Id: If4d84e3c8c2b8d75136f7440a737956d654f2297
2019-03-28build-old-tags: known error: osmo-bts-1.0.0Oliver Smith1-0/+3
Change-Id: Ifa9953161ad4dbead09675f367baeffe19c788b7
2019-03-26Add osmocom-build-old-tags-against-master.shOliver Smith1-0/+232
Build old releases of Osmocom programs and libraries against "master of the day" to detect breakage. Redirect each build's output to its own log file, so it is easy to see what is currently getting build, and what failed. On error, print the end of the new failing build logs, along with a note to find the full logs in the jenkins artifacts. This initial configuration builds the last three release tags of the Osmocom repositories against master. The configuration can be changed easily. Indicate known failures with "err" instead of "ERR" in the output, do not cause them to fail the build and do not print the beginning of the error log (it is still in the artifacts). This way, new errors stand out and don't get overlooked among the known errors. Related: OS#3765 Change-Id: I7cb45cc40c9930840a3d4e6a86f39e1400478ed3
2019-03-26osmo-build-dep.sh: run 'make check' when CHECK=1Oliver Smith1-0/+5
Prepare for osmocom-build-old-tags-against-master.sh. Related: OS#3765 Change-Id: I248b53d7a6fe1b64f2a994c568c0466dc93858de
2019-03-26osmo-build-dep.sh: cd into subdir before buildingOliver Smith2-0/+16
Support building the legacy openbsc source with osmo-build.dep.sh. This will be used by the upcoming osmocom-build-old-tags-against-master.sh script. Related: OS#3765 Change-Id: I852e103e80bf295f692cf13c4cb38e80fbc19eca
2019-03-26osmocom-list-commits.sh: move functions to common.shOliver Smith2-43/+66
Prepare for the upcoming osmocom-build-old-tags-against-master.sh script, which will benefit from querying the last n git tags in advance. Related: OS#3765 Change-Id: I61be4cffb9275cabc1b253f0b298503ad0d3aea4
2019-03-22osmocom-list-commits.sh: fix sorting release tagsOliver Smith1-1/+1
Properly sort "git ls-remote" output, which looks like: 352f32c9cffef2e5df99cd2f03368dc56c99ee23 refs/tags/0.4.0 Use / as field separator and field no 3, instead of assuming that the string gets split automatically after the tab character (which it does not). Use -V (version sort) instead of numeric sort. Change-Id: I334e684ac5109fc289b68af78165862148074ea7
2019-03-22scripts: Enable osmo-sysmon debian package OBS buildPau Espin Pedrol2-0/+6
Change-Id: I638c58be1ddf5e7fcf5a51de532ae8c4c06dcdbb
2019-03-20Add scripts/osmocom-list-commits.shOliver Smith1-0/+85
Generate a table of Osmocom CNI repositories and their latest tag, related commit, and last commit on master. Related: OS#3840 Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da
2019-01-26osmocom-*-packages: clone via https:// not via unencrypted git://Harald Welte2-2/+2
Change-Id: Ibfb52cbac93451ba402edb6b59350620954b0d81
2019-01-26latest-packages: Add libosmo-dspHarald Welte1-0/+2
Now that libosmo-dsp has a 0.4.0 tag that includes debian packaging information, we can add it to the latest feed. Change-Id: Ic082a4ad6b8582dfe44df5bdaafa525e52da7246
2019-01-17nightly packages: Build libosmo-dspHarald Welte1-0/+2
Change-Id: I989c7961336b4dacbc83e97d1c098f93f56ef6ab
2018-11-22Add osmo-sysmon to default depcheck configMax1-0/+1
Change-Id: Ie57d0d55459d492e18b56496c9018a5f8619813a
2018-10-27osmo-layer1-headers.sh: Check-out NuRAN branches without slashesHarald Welte1-1/+8
this is an ugly workaround for Jenkins not being able to deal with slash ('/') in label names that comprise the axis of a matrix buildjob, while nuran not using tags but only branch names in their firmware repositories :( Change-Id: I1bbfc61f66c5fc490ceca96a8eb21210dd89b629
2018-10-26osmo-layer1-headers.sh: Add support for OC-2GHarald Welte1-0/+4
Change-Id: Iceb62df4511ed50f0286e5762d9ffc4b068f70a6
2018-10-05osmocom-latest-packages.sh: Refactor to support building limesuitePau Espin Pedrol1-57/+112
This way the latest script is a lot more similar to the nightly one, and easier to maintain and expand with new features. checkout and build steps are split because once we have a new osmo-trx release, we'll need the create_osmo_trx_debian8_jessie trick to build it. In the future we can do further steps to have a common function lib between latest and nightly scripts. Change-Id: I786c6f4ad4b4e43d1692c1588d2ad2194d0b25a4