I was quite surprised, that the job used "osmith/pdfs-in-doc-subpackage"
instead of "master" today [1]. Fix this randomness by adding a branch
parameter that defaults to "master".
Interestingly, we have to set the default branch to
"refs/remotes/origin/master". When using "*/master" (like we do in other
jobs), Jenkins would still chose my branch over "origin/master", even
though mine does not have "master" in the name. I have also tried
"chosing-strategy: 'default'", in case it was using the gerrit strategy
for some reason (like in [2]), and setting 'refspec:', but both did not
have any effect.
[1] https://jenkins.osmocom.org/jenkins/job/Osmocom_OBS_nightly/98/
[2] https://issues.jenkins-ci.org/browse/JENKINS-26981
Change-Id: I6d1f0e70d5c82ffd551d00ffdf2712cbfaec16cf
Add the links that the obsolete Osmocom_nightly_packages job has, before
we remove it. Also link to the binary packages wiki page.
Change-Id: Idbc7ccd0156d9c3eb6d30059384686849a36f49f
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
This requires Change-ID I800ebe0f33cf7c86eea65d2e186c6af12fee6db7 from
osmo-ttcn3-hacks.
Fixes: OS#3179
Change-Id: Idee5a986e4cda8db601982ac3f2662bc20fe3f5f
We had some load issues with many things running at once on jenkins.
This will at least make it easier from having colliding ttcn3 jobs.
I also changed ttcn3-sip-test to run at 7:30 instead of 7:00 where
ttcn3-bts-test runs.
Change-Id: I65f346a3fae2811c8314c26d4a5b3a528b8101f9
With mobile, virtphy, osmo-bts-virtual we can run e2e tests without
the need of any hardware. Create a dedicated job for it. This avoids
having to share resources (e.g. lock state/ip allocations) with other
builds.
Change-Id: I19993b287cc948dbdfba9d375f80a7904f96ff4a
The repository currently doesn't yet have a contrib/jenkins.sh
script, so all verifications will fail. This is intentional,
as it will force the addition of a related script in the first merged
commit.
Change-Id: I713d345240dec319ee07d99e9381fc1af6a2d86d
Jenkins job builder does not support string replacing in variables,
so the only way to make each ttcn3-foo-test-latest job get blocked by
their ttcn3-foo-test counterpart was specifying them each time.
Related: OS#3767
Change-Id: I124286d4b996e79a7b77603c7b59473b016c3bd5
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
Add the same build discarder as we have in master-builds.yml. This
should help with the disk space problems.
Change-Id: Ib7f01751ca5f6fb3e29a436982e2891d9cab0488
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
Format the docker command lines just like they are formatted in
master-builds.yml. Most notably, this puts every environment variable on
its own line. This makes it much easier to compare both files side by
side.
Change-Id: I0adcb028be24c2e05189c15b85811777d6287387
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
Let all TTCN3 related Jenkins jobs get generated by
ttcn3-testsuites.yml, overwriting the old manually generated jobs.
Related: OS#3268
Change-Id: Ib4c0949d21fcbc16c61c6ffe9d3eedea198aaf1d
New JJB config, that is able to generate all jobs in the TTCN3 tab at
Jenkins: <https://jenkins.osmocom.org/jenkins/view/TTCN3/>
The new *-latest jobs test against the latest stable releases. Existing
jobs are not overwritten (this is commented out).
ttcn3-bsc-test-sccplite-latest is disabled for now, because it hangs
forever.
Related: OS#3268
Change-Id: Ie433925ee81a61c5788b4a6f2bc5b89c2689d251
Current entire default testsuite takes almost 7 hours to run, so let's
run it once nightly and be done with it.
This way, during office time if we want to test something on the prod
setup (due to hw only avaialble there) we can do it without having to
wait, disable the job hours in advance or having to kill all processes
and clean osmo-gsm-tester state.
Change-Id: I138bf50d6d066d2da4cd97f25880628b93ddc237
It seems jenkins cannot deal with this, so we cannot specify something
like 'origin/nrw/oc2g-next' in a label. Let's work around by using only
oc2g-next here and expanding that to 'origin/nrw/oc2g-next' only in the
osmo-l1yer1-headers.sh script of osmo-ci.git
Change-Id: I9130a2f349f06a0b46b50665cef7188ddb08f666
The gerrit-osmo-bts job is used for build verification of osmo-bts
patches. This adds (untested) support for OC2G
Change-Id: I62a9a5ec357b7246b2d7915681c646c79eda4b76
* replace --gitdir with --workdir and give it a new folder structure:
* git/$repo: downloaded source code
* build/$repo: files created during the build process
* install/: installation prefix
* adjust the jenkins job to use --workdir
* fetch --tags when source exists already
* readable error message for failed git checkout
Change-Id: I06589277b9d54a2af177451cfab2ca1a658b4058
Relates: OS#2642
Recently in osmo-gsm-tester some suite names were changed to have better
unified naming. As a result, some of the suites used here need to
updated.
Change-Id: Iafe865ab5f607fc8acfcb3f72ebe4b0ef0f1322a
This artifact is not needed nowadays to run current tests in those jobs,
since it is only used in osmo-gsm-tester_ttcn3, but it will eventually
be used once we support virtphy and/or motorola phones in usual tests,
and also because it's easier for developers to download full .tar.gz
with all at once instead of having to download osmocom-bb one separately
whn whilling to run ttcn3 testsuite locally.
Change-Id: I9fe41e2c7d9c38796ce16f2f279792bc5151b498
This script verifies that Osomcom programs really build with the
dependency versions they claim to support in configure.ac. In order to
do that, it clones the dependency repositories if they don't exist
already, and checks out the minimum version tag. This happens
recursively for their dependencies as well. See 'osmo-depcheck.py -h'
for the full usage instructions.
There's also a new jenkins job in jobs/osmocom-depcheck.yml.
Change-Id: I8f495dbe030775f66ac125e60ded95c5d7660b65
Relates: OS#2642
Installs most packages from the Osmocom Debian repository into a plain
debian:stretch container and call the osmo-* binaries with --version
(or -h).
Two jobs, one for nightly and one for latest.
Change-Id: Idbb43ed737e164f8cf3a0e085ed54e4c6a2d14bc
Related: OS#3176
For some reason almost all projects allow to permit building a
specific non-master branch, only osmo-hlr was missing that parameter.
Untested.
Change-Id: Ia4199aa5cfd1f39d34ed7c6104881c68d00dcffa
Kevin would like to upload simtrace firmware to ftp.osmocom.org from master
builds. To facilitate, add '--publish' arg, like in master-osmo-gsm-manuals (to
distinguish and not upload from gerrit verification jobs).
Change-Id: I93435aa6f39e9a072754011ae7696b10315f6092
This is the same as done for the master builds in
I6f025c642d5ae57cdda9d7b34bbaeb82ca119354,
seems I forgot to follow up with this one.
Change-Id: I9204ca2f083c8a6a04c6c0fc7d51752a4f1a4830
This seems to resolve the issue where the jenkins job fails due to
missing ssh credentials.
Other jobs can also use this by setting the node property
Change-Id: I23cf2c98f02278a5deb9c4ae8d13438b76538287
Ticket: OS#3338
It's not any more used, neither does the job even work, because
the split file got already removed.
Change-Id: I6e85d6384f2a377f1ebe0e06c9ca92a594050eec
As rtl-sdr is gaining a ./contrib/jenkins.sh script, we can now also
use it just like our other projects, with a template-generated
"master-rtl-sdr" jenkins job, which can replace the old manually-created
"rtl-sdr" jenkins job.
Change-Id: Ia59f12f31d332bda09242fff1d3e215e8cadc915
make clean has subdir/Makefile as dependency. As a result,
subdir/gen_links.sh and subdir/makefile-regen.sh are called, and
ttcn3_makefilegen in there fails because the dep symlinks are done
against missing files (because git repos in deps have not been checked
out).
Additionally, since 61c11e9234b3f9e087aba94380892ab66abc1191 make
deps-update is equivalent to make deps since the dependency tracking
system was improved, so we can remove it as it's not needed anymore.
Change-Id: I07fee78bba5b07c7f3f4359869e00ef2583e0769
When https://gerrit.osmocom.org/#/c/7725/ has been merged, there
is no need to limit this build to OsmocomApi.
Change-Id: Ic5fe39b643e7a15dbfd2efd55dce78dde30cf099
The build jobs building all osmocom components which will be used by the
osmo-gsm-tester. A .tgz archive will be used as artefact which is copied
later by the osmo-gsm-tester test run.
Change-Id: Ic49c94e9e6639e43f6ae14b868bc826af3ce2085
Avoid as many multiple triggers as still ensure all dependent projects are
rebuilt correctly. Keep the full trigger list as comment, and illustrate in a
comment at libosmocore how the chain is intended to work.
Change-Id: Iea2cf25b3872045778f11a985a1c417f37067cd9
proot crashes with current jenkins node setup, which means we cannot use
it to run ARM based axis.
proot bug is already reported upstream in:
https://github.com/proot-me/PRoot/issues/134
Related: OS#3061
Change-Id: I9bc48349c78f395b3842bc5caaf6e948fb4c299e
Introduce more precise labels to allow more flexibility when extending the jenkins setup.
The linux_amd64_debian8 or linux_amd64_debian9 is used across all build jobs which
make it hard to add new nodes which might only support one group of
jobs.
Change-Id: I900b7b50b33cc95e127ca78d2a47f59d32a6dfee
Introduce more precise labels to allow more flexibility when extending the jenkins setup.
The linux_amd64_debian8 or linux_amd64_debian9 is used across all build jobs which
make it hard to add new nodes which might only support one group of
jobs.
Change-Id: I0fa3d3f81ab01e2488fe07601740f42eb54b6d9c
In osmo-ttcn3-hacks Idc165425b45872d2eb958a662d03e69aaf60669d
we introduced the new 'deps-update' Makefile target to properly
update all 'deps' repositories without removing them. Let's use it.
Change-Id: Iabc54182d1d30ef26e4f72fb9db52fd25a6c9800
There were a lot of downstream triggers that we were missing.
I manually reviewed the debian/control files and used that to update
the trigger lists for all jobs in master-builds.yml.
Change-Id: I12057c9bb389041ef3bcabd1c335a0fa8c358092
The sequential parameter was silently skipped because it was absent from
the project template. Fix this for both master- and gerrit- jobs.
Change-Id: I0bc28695f4f270bc7b1cc4bcd5d4d43ede6172f3
Get rid of job name comparison because it depends and exact build server
name and hence is highly fragile. Use dispatcher script the same way we
do in osmo-bts.
N. B: this requires I2955e866bce4f000a53369bd601a346c36c82468 in
libosmocore.
Change-Id: I76dfc11a05007ae5c6e0554fe8132695b67cccaa
Recently we had changes to osmo-ci, and I noticed that although some master
builds were broken by that, the builds were still showing success -- of twenty
days ago.
Run each master build at least once a day to indicate odd side effect failure
sooner.
Change-Id: I126de2bab3db22cb693b0fa665f6579de9238fdf
The vty and ctrl tests are enabled by default and are run on hard-coded
ports. This causes some builds to fail when run in parallel.
Change-Id: I23d5b75825a667e4f043d16a12b841cd8f01af5e
Debian 8 contains quite old qemu and proot packages which have some
issues running the chroot infrastructure set up in osmo-trx's
jenkins.sh.
Change-Id: I24665880fff5a5b918bb6ffaf1e7bb51ae860b0b
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
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 '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
The node is offline and has been for a long time. The last osmo-ci-on-slaves
job ran for a week waiting for it to come back online.
Change-Id: I5a315d1ce3d7d5763ba07bf29f9cdd5d6f7c6491
This trigger is responsible for triggering another build
once the first build is complete and sets a +V
Change-Id: I235e0211a01da0eb74d8e6a9581aa34b59073ca0
In early September we asked on the public mailing list if there are
any users of the FreeBSD builds, and there was no response at all.
Let's disable the build testing on FreeBSD. This will significantly
speed up our build testing, as well as pave the way for a more
comprehensive docker/containerization of build testing.
We're still extremely happy to merge any patches for support of
FreeBSD or other operating systems. But the core Osmocom developers
will not perform related testing / porting.
Change-Id: I2c6d2a17c3cf9d8c78c3675995493e30cbc6be0d
The point of using docker is to allow concurrent builds, hence set 'concurrent:
true' for all jobs using docker.
Change-Id: I6333ee2856cbeb0cc3eb14c381ac8faf838c5f97
fixed in osmo-bsc, osmo-mgw, osmo-sgsn, cellmgr-ng:
Spanning a single shell command across several lines with backslashes in the
end breaks when the newlines are not preserved: the backslashes escape a
following space, which is joined to the following cmdline arg.
Add the leading less-indented comments that curiously lead to preserving the
newline characters in the cmd sections.
Change-Id: Icfd6cfb7ca4172795620e1d7ee60610db4f7226b