Building a docker image depending on a debian upstream has the problem that an
intermediate build result will depend on an APT package archive that is
probable to become outdated. It's necessary to do an 'apt-get update' regularly
to get the newest package archives and be able to install new packages. We
never know which 'apt-get install' steps we might be editing, so we'd have to
add an 'apt-get update' before each, or use an ADD line to find out whether the
package archive has changed, before each and every apt-get install step. We're
likely to miss those in the future, and it would be a large, complex change.
Instead, try to build the docker image with --no-cache in case a cached build
has failed. This should fetch the most recent debian upstream with a proper
archive.
Fixes the current problem that the rebuild_osmocom_jenkins_image.sh is stuck on
various build slaves, should trigger a --no-cache build on each slave.
Change-Id: I37110287dabd53d3537d94ecd74cf513396971b3
Recent change I8f5012419495a656912b7b71e4f76ce102c6b63a adds use of stow in
osmo-build-dep.sh, hence our jenkins build processes now require the 'stow'
dependency. Add 'stow' to our debian docker images, used for various builds
(those that invoke 'docker' in the jobs/master-builds.yml and
jobs/gerrit-verifications.yml to produce concurrent builds).
A recent commit made this change in the Dockerfile.deb8_* dockerfiles, in the
assumption that the jenkins one would depend on that, which is actually not the
case. Instead, add stow in the dockerfile that is actually used in the jenkins
jobs. (It is not harmful to still keep the added dependency in the other two
dockerfiles.)
Change-Id: If97176f4aea66c42a6820f14ceb4b91369841ca0
Recent change I8f5012419495a656912b7b71e4f76ce102c6b63a adds use of stow in
osmo-build-dep.sh, hence our jenkins build processes now require the 'stow'
dependency. Add 'stow' to our debian docker images, used for various builds
(those that invoke 'docker' in the jobs/master-builds.yml and
jobs/gerrit-verifications.yml to produce concurrent builds).
Note: the Dockerfile.deb8_i386 doesn't seem to be used, currently. Add stow
there anyway.
Change-Id: I7a44ba5ed130a3311460185507f76151c6daa7f1
This commit introduces the usage of GNU stow[1] for dependency
management.
Stow uses symlinks to make dependencies available in a single directory
althoguh they were installed in distinct directories.
Keeping installation directories seperate has the advantage of letting the
build fail if AM_CFLAGS and LDADD do not contain all dependencies which are
actually used.
Installing multiple dependencies into a single directory causes x_CFLAGS
and x_LIBS variables to magically point where other dependencies are
found as well, therefore missing entries can be overlooked.
Stow acts as a convenience layer here, making it unnecessary to supply a
list of locations in LD_LIBRARY_PATH, PKG_CONFIG_PATH and so forth for
building when dependencies are installed in distinct directories
manually.
Stow has to be present on the jenkins build nodes for successful executing of
osmo-build-dep.sh.
[1] https://www.gnu.org/software/stow/
Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
The [yes, no] tuple was automatically converted to [True, False] by the
jenkins-job-builder but the combination filter still used old literal
check. Fix this by using boolean from the very beginning.
Change-Id: Idac6e53b1e0addbcb5b6c99b8051e1e0ad26bc5b
No need to duplicate the install steps we have in osmo-python-tests/contrib
now. Also runs the tests.
Change-Id: Ibb8eb04e3a5c9c5dcc9b99c83425d2604378f960
Make sure that python-setuptools are installed for both python v2 and v3
to make sure osmo-python-tests can be installed.
Change-Id: I3ecd96af2e2c0c7d141977639103d71e46c0cdc5
Related: OS#2821
It was disabled back in a days when it was dependent on a separate
branch. Thisis no longer the case so we can enable it back. Also remove
remaining leftovers.
Change-Id: I5fd3bdab217b61f9ee50a5f1413b60d396535395
Notify intern@ if either update-osmo-ci or update-osmo-python jobs
failed. Those are essential for our CI and test infrastructure so we
should look into related failures right away.
Change-Id: I0d51e35424a26eab7d38152e13f3ac6fd3f3997c
Related: OS#2821
The OpenBSC codebase only receive occasional backports hence none of the
issues uncovered by Coverity would be fixed unless it's also fixed in
corresponding Osmo* project. Let's not clutter output with the
information about issues which won't be fixed anyway.
Change-Id: Ief3dfc641684fa33407957bf7cfcb6ecf35b847a
The split build script also initilize the repository if it's empty and doesn't
need any state of the osc repository.
It also downloads bumpversion and limesuite
Change-Id: I3b55e14b5b4915a3aae23ee382d65bce4ef82774
The 'refs/heads/origin/master' somehow caused that git polling would not
trigger builds. 'origin/master' was succesful in a manual test, so set all jobs
to that.
Change-Id: Id033d1bfce6cc9e20fbbf9be462842b9e44bde83
As far as I understand, the variable is populated using the name field.
In openggsn build it matches, but it doesn't in osmo-ggsn.
Change-Id: Ifb1a630b77a8c2f442e26dbef8e608882e8f9a71
Firstly, we don't have the downstream-ext plugin installed on our jenkins. We
want to use the 'trigger' publisher instead.
Secondly, since the jobs created here are called master-*, we also want to
trigger master-*.
master-libosmocore also triggers SIMtrace and xgoldmon, which aren't covered by
this jobs config, hence they don't get a master- prefix.
Change-Id: If9e8c4b02fce34fddceb4f07bf024210600f6270
The build-discarder section was silently not working. It needs to be nested
below a 'properties' node.
Also the names need to be dashed and not camelCased.
Change-Id: I9503200a8873e616f9195d4bb1d6163c464b305e
osmo-sgsn uses libosmo-ranap and hence should be triggered from osmo-iuh. This
naturally "includes" a trigger for libosmo-sigtran.
Change-Id: Ia356dc2a8d5120f9d6262bf8eb25c32fe71e76c9
libosmo-sccp, osmo-ggsn: The osmo-gsm-tester builds are downstream builds, yes,
but we configured that with the osmo-gsm-tester builds: instead of telling
libosmo-sccp to build osmo-gsm-tester_build-osmo-stp when done, we configure
the osmo-gsm-tester_osmo-stp to build after libosmo-sccp. So that the master
branch builds don't need to have any knowledge of osmo-gsm-tester.
osmo-msc build triggers should rather be post-build triggers of osmo-iuh and
osmo-mgw, like the others. Then we can also drop the pollscm here, and use the
pollscm that is common to all other builds.
Call these jobs 'master-*'. It more accurately says what they build, and also
we can install the jobs from this file next to the current, old ones, without
overwriting them and thus we'll have an easy rollback path. The new ones can
co-exist with the old ones until the new ones are verified to work, at which
point we can drop the old ones. Line 313:
IIUC the safest git branch is 'refs/remotes/origin/master'.
This is still untested!
Change-Id: If2ad9c90a0986d1304cd53383d3df5b375f23ac8
after the recent successful conversion from manual job definitions
to jenkins-job-buildre of the gerrit jobs, this is an attempt to convert
also the non-gerrit jobs for the common osmocom projects.
WARNING: this file has not been tested yet, it's a WIP.
Change-Id: Ib04707393264a845876659d7bee0cdc9f8b897b6
Download (ADD) the latest patch from git.osmocom.org so that the image gets
rebuilt when new changes were merged to master.
Change-Id: I215f5f6504018d589fa44776a332757a7b870d53
To reduce docker image rebuild time, move the Smalltalk related commands to a
separate file, which is currently not built by rebuild_osmocom_jenkins_image.sh
since there are no jenkins builds using that yet.
Change-Id: I1142f068100ef07ce7f177adaa8a0fe2fedb1b7b
The jenkins invocation of the docker image commonly includes the osmo-ci
scripts via binding ~/bin to an up-to-date checkout. We don't need another
version of osmo-deps.sh in /usr/local/bin.
Change-Id: I5ce9ab992afa3c5a7a0bb13b55cae016bc8e805f