aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
AgeCommit message (Collapse)AuthorFilesLines
2020-05-28scripts: source common.sh before cdOliver Smith2-2/+2
common.sh tries to set OSMO_CI_DIR now; however this does not work when common.sh was sourced with ". ./common.sh": realpath: scripts/..: No such file or directory Fixes: 7cb8e2d0 ("OBS: add debian10 specific patch for limesuite") Related: https://jenkins.osmocom.org/jenkins/job/Osmocom-build-tags-against-master/455/console Change-Id: Ib326eb0fa769528398335c9cf06dc9c9576c882e
2020-05-28OBS: add osmocom-next-packages.shOliver Smith3-7/+45
Fill the "next" feed with source packages generated from the "next" branch of each Osmocom project, if it exists, with fallback to the "master" branch. Implement as wrapper around osmocom-nightly-packages.sh, so we don't duplicate code and don't need to add more logic to the jenkins job. Adjust all osmo_obs_prepare_conflict calls. Add a comment line on top of each osmocom-*-packages.sh script stating the feed they can be used with. Related: SYS#4887 Change-Id: I0542b6243bdd29d08381fcc82368dcbd30bf9dce
2020-05-28OBS: support more than one conflicting packageOliver Smith1-6/+22
For the upcoming network:osmocom:next repository, it would be inconsistent to have the debian package conflict mechanism only support latest and nightly, even if the next repository is currently not built for debian. Change-Id: I2c07313fbbdffe5571e447059b08fe74c853cef0
2020-05-28repo-install-test: don't mount /dataOliver Smith2-10/+9
The "run-inside-docker.sh" script is running as root (in order to be able to install packages). Do not mount an outside directory as /data inside the image anymore, where the script would write temporary data. This causes problems on jenkins, as the temporary files are written as root and jenkins is then unable to wipe the workspace. I had used this for debugging when I wrote the script initially, but almost the same can be done now with INTERACTIVE=1 and cat on the temporary files. Related: OS#4563 Change-Id: If7e1d83580c2951e7e50181ba7e755b987675e4b
2020-05-28repo-install-test: support centosOliver Smith4-17/+93
Related: OS#4563 Depends: I50743c304728444ede8e0d40b8abef9d17c44d8d (docker-playground) Change-Id: I399360ee6389591180859b52f0ef08883447b90b
2020-05-28repo-install-test: add KEEP_CACHE env varOliver Smith2-0/+29
Keep downloaded binary packages to make test cycles shorter during development. While at it, also document all environment variables. Change-Id: I4d6ebaf460e47f29e023acb0bd78ef52ca80c7cd
2020-05-28repo-install-test: use sh -exOliver Smith1-4/+6
Make it consistent with run-inside-docker.sh by also using -e and -x. This makes development easier. Change-Id: I733164829bf076fb42df3fde725f3e330f8abecc
2020-05-28repo-install-test: docker: add --tmpfs /run/lockOliver Smith1-0/+1
Make the script work on a debian10 host. I had developed it initially on debian9, where this was not necessary, and the Jenkins servers are also running debian9. Fixes: Failed to mount tmpfs at /run/lock: Permission denied [!!!!!!] Failed to mount API filesystems, freezing. Freezing execution. Change-Id: I5127356031a5dd080473aa650c2beae2a81a697f
2020-05-28repo-install-test: integrateOliver Smith2-6/+6
Make the script run from its new location. Related: OS#4563 Change-Id: Ib6fbc4b9487a84e0c28cd8b0622ddc2d5b1dfe14
2020-05-28repo-install-test: move from docker-playgroundOliver Smith3-0/+231
Prepare the repo-install-test to be extended to cover centos8 as well. Move the scripts to osmo-ci.git first, so we can mount them as shared files into the docker containers from here. Move files without any changes. Integration will be done in a follow-up commit, so we have a clean git log. debian-repo-install-test/jenkins.sh => scripts/repo-install-test.sh debian-repo-install-test/testdata/blacklist.txt => scripts/repo-install-test/blacklist.txt debian-repo-install-test/testdata/repo-install-test.sh => scripts/repo-install-test/run-inside-docker.sh Related: OS#4563 Related: If93f37e8d46597a9abc67a4529be9addd65780f5 (docker-playground) Change-Id: Ia678cc15e66630bd6b75b6c89bc75c1e27afd66c
2020-05-25Cosmetic: OBS: remove comments for requirementsOliver Smith2-6/+0
The list is incomplete, and we have a programmatic check for required binaries in common-obs.sh now. The next patch will add a new one of these scripts, so let's clean it up a bit. Change-Id: Ifab635e0d7a162142a8e80f3223d024888114f3f
2020-05-25OBS: add debian10 specific patch for limesuiteOliver Smith4-2/+36
Add a patch to replace libwxgtk3.0-dev with libwxgtk3.0-gtk3-dev in debian/control. Adjust OBS scripts to apply such patches from this repository if they exist here, and fall back to the project's repository (osmo-trx, osmo-gsm-manuals patches are there). Related: OS#4562 Change-Id: I8dfb60e999bf9f61e6cd11983dba033a4c6107ad
2020-05-25scripts/common-obs.sh: move osmo_obs_checkout_copyOliver Smith3-34/+49
Refactor checkout_copy_debian8_jessie from osmocom-latest-packages.sh and osmocom-nightly-packages.sh to take the distribution name as argument and merge both to osmo_obs_checkout_copy in common-obs.sh. Use debian8 as distribution name instead of debian8-jessie, so the distribution name matches the suffix of the patch file (build-for-debian8.patch). A follow-up commit will apply a debian10 specific patch with this new function. Related: OS#4562 Change-Id: I2b69571ebc08a920c9147ce544fa8a2e6d950e65
2020-05-22OBS: add --noservice to osc ci commandOliver Smith2-2/+2
Prevent the following error: ERROR: please install obs-service-format_spec_file or use the --noservice option Build step 'Execute shell' marked build as failure Related: https://jenkins.osmocom.org/jenkins/job/Osmocom_OBS_latest/976/console Change-Id: Ib2fbaace47b3c12462860419f19b01a5b4d192e8
2020-05-22OBS: check required programs before startOliver Smith4-10/+28
osmocom-*-packages.sh take some time to execute and has quite a few programs that are not commonly installed. Check the required dependencies first, so it doesn't abort in the middle of the scripts if these are missing. I just ran into this with the new meson dependency. Change-Id: I46cf1aeedd61dbd4fc8fa3f24c60e29033339ead
2020-05-20scripts/osmocom-obs-link.sh: remove sdccOliver Smith1-4/+1
sdcc does not build for centos 8 without diving deeper into the dependency hell: nothing provides gputils, nothing provides python3-base, nothing provides inkscape, nothing provides lyx, nothing provides makeinfo So let's not build libusrp for centos 8 for now. We can build osmo-trx without the usrp1 backend (already configured in the spec.in file). Related: OS#4550 Change-Id: Icfb289b0eeeb7215d23517fb8a4e56f2a8d774f1
2020-05-19scripts/osmocom-obs-link.sh: new fileOliver Smith1-0/+30
Related: OS#4550 Change-Id: Ib36682d645d9badad5515476675a947f2aec0baa
2020-05-19OBS: add RPM spec filesOliver Smith3-2/+35
Use existing osmocom-*-packages.sh scripts to add RPM spec.in files. Set the same version, as in the debian .dsc files. Related: OS#4550 Change-Id: If93b9d95e4c18cf1c29594c0802cbffaea27101c
2020-04-27disable osmo-uecups latest build; needs new libosmocore releaseHarald Welte1-1/+2
Change-Id: Ib2f5fcd7e7a5b05a1fef9f3cbac99c6f203e2baa
2020-04-24osmocom-*-packages.sh: fix osmo-uecupsHarald Welte2-0/+2
Change-Id: I359fe8f4fb94dc9b4b31e10f5cb9d0d4400a0e2a
2020-04-20add osmo-uecups to nightly + latest feedsHarald Welte2-0/+2
Change-Id: Ic7de1b4c6ce47093874fe373cac8a1f7e47ee179
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