docker_run was duplicated for osmo-e1-hardware and no2bootloader, so the
'-e PATH' line could be removed from the global docker_run. It was
overriding the PATH, which then did not contain the path to the compiler
toolchain anymore.
This workaround is not needed anymore since de5aa17d6 ('jobs: don't
overwrite PATH in "docker run"').
Related: OS#4911
Change-Id: I97a4add17d9fa1bd28ab0ceb054b9a8d948b6f86
Use new location inside / outside docker, where the repository was
cloned already. So it does not need to be cloned during the job.
Roll out: make sure that the docker images are already built! (or let me
merge it)
Related: OS#4912
Depends: docker-playground Id402e0ea372b5ca8a6c8f6f5beb190544c888207
Change-Id: Ibe91a613162687589e006cba99193606fb8a3eb9
Add the variable to projects that don't use docker at all or overwrite
docker_run instead of using the global variable that has
OSMO_GSM_MANUALS_DIR defined.
Related: OS#4912
Change-Id: I65102655b4b3e907a0b0de8026f8f9af76281f90
Don't mount $HOME/bin to /build_bin, and don't overwrite PATH to include
/build_bin anymore. This isn't needed because the scripts are installed
to /usr/local/bin inside the docker images now.
Depends: docker-playground I0820f13cd740f7d4a8999d279cef6ae293a67d81
Related: OS#4911
Change-Id: I45bd7ea56849dab839a98cfd52806f7cd288094e
Save time by only cloning the repository, and not running autoreconf
-fi, ./configure, make and make install. Especially the tests during
make took up significant time, that slowed every project depending on
osmo-gsm-manuals down while being built through master-builds or
gerrit-verifications jobs. Set OSMO_GSM_MANUALS_DIR to the clone
location.
This is an interim measure, I'll submit more patches soon that remove
the 'osmo-build-dep.sh osmo-gsm-manuals' calls from all projects.
Change-Id: I5238cf3f93ded97ed2b44d27868123a646e122dc
Related: OS#4912
We actually do the verification inside a (debian 9) docker container anyway,
so there's no need to run those on the old debian8 slaves.
Change-Id: I2168bd2f0e6221518ece111e29dc604c33eaca6a
Since Idba84164b90e3d183a20b5eb69cbfe15745e447c, we started to
generate separate PDFs for different osmo-bts-variants, so
let's enable them all. Otherwise only osmo-bts-{virtual,sysmo}
PDFs are generated and uploaded to the server.
Change-Id: I517be2d475f57026dab7f001d2298cf1a1aa2c7c
Related: SYS#4937
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
Place a link to the wiki page, that now documents all available
environment variables.
Related: OS#4243
Change-Id: I770360b671c64369cf6cdb4fb4222921cc6af58e
Don't use the old "osmocom:amd64" image. Remove the entire cmd line, so
it uses the default docker command with the default docker image
"osmocom:deb9_amd64". Also remove concurrent: true, because that default
nowadays too.
Related: OS#3203
Change-Id: I93db12d3652f26db059e0ede52d2b2fdd3e89d34
Now that almost everything runs in docker, we don't need to worry about
problems with running VTY/CTRL tests in parallel for these projects.
Related: OS#3726
Change-Id: I5fdf759faf47ec7e4f9cb2657bd004585a667add
Instead of building some projects in docker, and some directly on the
build slave, build almost all of them in docker with few exceptions, and
make building in docker the default.
This has several advantages:
* build environment of master builds and gerrit verifications is the
same, therefore the same build won't pass in gerrit and then fail in
master
* all build environments are volatile
* no more conflicts while running VTY/CTRL tests
* fix osmo-python-tests gerrit review versions being installed to
/usr/local of build slave (see previous commit message)
Projects that still do not get built in docker:
* openggsn: depends on libgtpnl, but does not build it in jenkins.sh
* osmo-bts: l1headers, various SDKs not installed in the docker image
* osmo-trx: LimeSuite is not in the docker image (and just installing the
debian package does not work)
* osmo-ttcn3-hacks: TTCN-3 not installed in docker image
* pysim: needs to access real sim cards attached to the host
* sysmo-usim-tool: needs to access real sim cards attached to the host
Related: OS#3726, OS#3598
Change-Id: If4b7d2f9ffbc7e92699732d97a8f5829a88c5b35
Otherwise the master job managing the axis can be run on any node,
something which is not desirable. For instance, right now job
master-osmo-ggsn is run on osmo-gsm-tester-rnd which is currently unable
to fetch some git repositories.
Let's avoid running master tests on unintended nodes.
Change-Id: I62abb3c490588adc4c0e13c761de44d442f8cefe
Debian jessie (8) is EOL already, so switch to stretch (9). This is
required to build all Osmocom projects in docker, because at least
libosmocore fails to build with the old image (tests won't build with
GCC-4.9.x from jessie unless -Werror is disabled).
Do not build the jessie image anymore, and update the shared dockerfile.
Remove everything jessie specific, and make it work with stretch by
installing asciidoc-dblatex. Otherwise we get this error when building
manuals:
a2x: ERROR: missing configuration file: /etc/asciidoc/dblatex/asciidoc-dblatex.xsl
Add '--cap-add SYS_PTRACE' argument to the docker run command, because
otherwise the address sanitizer isn't working anymore with stretch
(which makes the OsmoPCU tests fail).
I've tried to split this patch up into multiple ones, but since there is
no asciidoc-dblatex package in jessie, we must add the dependency and
switch the image at the same time.
Related: OS#3726
Change-Id: I61fe93863d5367e3b9c01ab4726bb95bd16d891d
Move the common "docker run" invocation and image name into one place,
so it is not duplicated over and over. This prepares for changing the
image and building all Osmocom projects in docker (follow up patches).
Related: OS#3726
Change-Id: If529e6a93bb2227230981ee22f2c75bd0f1f4518
Re-enable concurrent builds for OsmoPCU, and run all builds in
docker. This should prevent previous problems with VTY/CTRL test
collisions, which lead to the concurrent builds being disabled
in I23d5b75825a667e4f043d16a12b841cd8f01af5e.
Related: OS#4204
Change-Id: I4f90a601e41dca18a6fcbab56bdf5663167d2353
The asciidoc warnings check fails the build if asciidoc prints a warning
while building the documentation. We had this enabled by default, but
since OBS uses various asciidoc versions, we could get unexpected build
failures (different asciidoc versions print different warnings).
Now that it is disabled by default, explicitly enable it for jenkins
again.
Related: OS#4140
Depends: Iac993a0d1b17205397a1f1ef1a7bd3f9df739e36 (osmo-gsm-manuals)
Change-Id: I8775d45b4dc1a5a46e2ba042fc7ee7d9f10f18cc
Adjust README.adoc to mention "cmd: |" instead of the workaround and
replace this:
cmd: >
# keep first line with less indent to preserve newlines
docker run ...
With that:
cmd: |
docker run ...
Change-Id: I65a06acb76e5d693aa187f9ac38970b73e7fead6
Mount ~/.ssh in openbsc's docker container, just like it is done with
all other Osmocom projects that build in docker (see Change-Id
Icfff3b6a620de79d1bab7ff6a35309f828581c09 ("master-builds: make SSH keys
available in Docker")).
Related: OS#3385
Change-Id: Ib31ab4033c1cc71c10a96445e8bcc3b9f02e2a1f
Build manuals for osmocom-bb and openbsc in gerrit-verifications.yml.
Build and publish manuals for osmocom-bb, openbsc and osmo-gsm-tester
in master-builds.yml.
Following recommendations on the ML, building manuals for
osmo-gsm-tester was not done with a new job in gerrit-verifications.yml.
It will be done with the existing osmo-gsm-tester_gerrit job (which is
generated by osmo-gsm-tester-runner.yml). No changes are necessary for
that in osmo-ci.git, see I4ebfe12a164f807b63bc897aff44db83fc0705bd
("contrib/jenkins*: build and publish manuals") in osmo-gsm-tester.git.
Related: OS#3385
Change-Id: I2845d14b656f11e3a07107b4f16e8d7a0e3c7bbf
Fix three errors that prevented Jenkins from accepting the new
configs from Ie0643b17a6be6e86e281b50d78dd7a6858cf99ee
("gerrit-verifications/master-builds: WITH_MANUALS"):
* master-builds: fourth axis needs to be in the template or else the
server will throw a 500 error. gerrit-verifications already has four
template axes.
* gerrit-verifications/osmo-pcu: || at the end of combination_filter
* gerrit-verifications/osmo-sip-connector: missing ":"
Change-Id: I4ad63a3167e59b0837ffd1576fb7c7cf2958ff32
Add WITH_MANUALS=1 to generate (and publish in case of master-builds)
PDF manuals. Jobs with multiple axes generate the manuals only in the
fastest axis.
Related: OS#3385
Change-Id: Ie0643b17a6be6e86e281b50d78dd7a6858cf99ee
Pass all inputs to contrib/jenkins.sh as environment variables instead
of mixing with commandline arguments. We decided on this method instead
of I3cc01dbc57213b6d6cdc9b394a516510d045f1ae ("use jenkins.sh
--publish"), to make the contrib/jenkins.sh scripts less confusing.
Related: OS#3385
Change-Id: Ifc88af086368ce8eea1ea3a375ba7d5603a5d7e5
Variables for axes are already exported as environment variables.
Change 'GTP="$GTP" ./contrib/jenkins.sh' to './contrib/jenkins.sh' to
avoid confusion when introducing other variables.
Change-Id: I9238da3dd3c4461f82dc7c792f886177399be3dc
Do not build osmo-mgw twice anymore (once with "--enable-mgcp-transcoding" and
once with "--disable-mgcp-transcoding"). configure.ac does not know
these options.
Change-Id: I080cd331caec31c53a43090e6c19d23e31abdec6
At runtime, mount the Jenkins host's ~/.ssh folder inside the Docker
containers, from which manual PDFs will be published.
To my surprise, local testing showed that ssh is looking for the keys
in /home/build/.ssh, although the HOME variable inside the image is set
to /build, not /home/build.
Related: OS#3385
Change-Id: Icfff3b6a620de79d1bab7ff6a35309f828581c09
Add --publish to the contrib/jenkins.sh calls for each Osmocom project,
where PDF manuals should be published. As this parameter is only passed
to jenkins.sh from the master-builds job, not from the
gerrit-verification job, we can add logic to upload the generated PDFs
when getting triggered because of changes in master.
Related: OS#3385
Change-Id: I3cc01dbc57213b6d6cdc9b394a516510d045f1ae
cellmgr-ng is out of maintenance for a long time now (13 months) and some
of its features are going to be served by osmo-stp in the future.
cellmgr-ng is unable to build against recent libosmo-sccp.
Change-Id: I0869ec932ba3b3a9d3d8521b25f677e011334315
Do not publish PDFs for all projects anymore, as we are moving the
manuals to each project's git repository. They will be published from
there instead (see INSTALL.txt in osmo-gsm-manuals.git).
No automatism for building and publishing the documentation of all
projects will be implemented right now, as discussed here:
https://osmocom.org/issues/3385#note-7
Related: OS#3385
Change-Id: I705e20a4f94b308c250580aa1289ee9b2967beef