Add a new job that runs struct_endianness.py from libosmocore.git and
complains if there is a diff. The next patch adds it to the pipeline.
Related: OS#5884
Change-Id: Ie12ef58905e5cdf1fb6816b59efb65c0e56b5e8d
After gerrit was upgraded, the comment formatting changed. Links inside
blocks indented with two spaces cannot be clicked anymore, so change it
to a listing.
Change-Id: I4dc338c22e9afe4b9d9df845c6f5d9b3a91f93d9
Allow overriding the downloads.osmocom.org domain of the url where
packages are downloaded from, so we can download them from
people.osmocom.org instead while developing / debugging, e.g.:
https://people.osmocom.org/packages/home:/osmith:/nightly/
Change-Id: I36bc0eae9fdee75512c1dbdca84cd6224b8c192a
Don't check the osmo-upf service until it's fixed, so we don't miss
other errors that repo-install-test may find.
Related: OS#5905
Change-Id: I970cad1bdb4586afa8ba5b4dac31bb9ac02b7b2d
Check at the start if sdcc is installed, as it's required to build
libusrp. It might not be installed when testing locally.
Change-Id: I226f439f7eff657d01c667aae464c080b91d5a82
coverity/common.sh is a symlink to ../scripts/common.sh in this git
repository. The local_test.sh already adjusts the symlink so it points
to the right place after copying related scripts to /tmp/coverity.
However when running the script again, cp would fail with:
cp: '/home/user/code/osmo-dev/src/osmo-ci/coverity/common.sh' and '/tmp/coverity/common.sh' are the same file
Remove the symlink to avoid this error.
Change-Id: I081871e6e06547a90879bc4aa08ac2b5c5ddaeef
As it doesn't seem to build properly with default dahdi-linux, disable
it for now.
Related: OS#5886
Change-Id: Icb5cf7517a2ba0f3abb1d44337677f9502069ec6
Add the following projects to our coverity test job:
osmo-pcap
osmo-e1d
osmo-e1-recorder
osmo-upf
osmo-isdntap
osmo-uecups
osmo-remsim
Change-Id: Idee49aa4c15fcfb1a469db9e4978523af5608d70
Don't attempt to create the CCACHE_DIR and chown it to osmocom-build for
the simtester jenkins node, and more generally all that were not
created with the ansible provisioning scripts. In case of simtester,
there is no osmocom-build user and we don't have the space there to use
ccache.
Fix for:
chown: invalid user: ‘osmocom-build:osmocom-build’
Related: OS#5848
Change-Id: I339d9ba4ad0c959d7325820eb53bfa1f0e04c164
Put arguments for ccache into a new docker_run_ccache variable, and use
it with all projects where it makes sense to use ccache.
Other projects use docker_run without the ccache parameters again:
* osmo_ss7, osmo_dia2gsup, pysim:
Erlang/Python projects
* osmo-e1-hardware, ice40-usbtrace, no2bootloader, osmo-opencm3-projects:
Don't use the default docker image
* osmo-gsm-tester:
Only builds manuals (jenkins-build-manuals.sh)
Jenkins job builder's variable substitution doesn't replace {docker_run}
inside docker_run_ccache when used in cmd, so just duplicate the lines.
Related: OS#5848
Change-Id: Ib6d7f309b972979d3a3bc87f8fcf71f9e930c0da
Don't attempt to build deb packages for openbsc in gerrit-verifications.
Fix for:
ERROR: unknown package: openbsc
See packages_osmocom and packages_other in obs/lib/config.py
Change-Id: I3cd810366a6d711c1fdbf3d5ff03d507441307bd
Building debian-buster-jenkins on the raspberry pis may take > 1h,
depending on what changed. It has a lot of things we don't use, so build
and use a minimal image with the rpis instead.
Closes: OS#5863
Depends: docker-playground I4fb4b48b233acaef815c4c27ec6f17f12cfe836b
Change-Id: I73e62fbbf93824c0d37963039de4e00f26a43cbe
This script was supposed to cache already built Osmocom libraries. But
it was only used with openbsc, didn't work as expected anymore (looking
at openbsc-master, it just builds all deps from source without caching)
and will be replaced with logic that allows using ccache in a future
patch.
Using ccache has the big advantage that we can cache all build objects
where the source files did not change, and not just do it on a
dependency level. Oftentimes only few source files change in our
patches, so we can really cache everything else that is not affected
within any git repository and not just a dependency that didn't change.
ccache also does automatic cache size management to ensure a cache stays
within a given size limit.
Related: OS#5848
Depends: openbsc Ib3272feec76b30412ca60dec204255b64e33831b
Change-Id: Id94d6126b476077d57839e4a884621b8c034f0c6
Check if the poky path already exists. Even this wouldn't
detect if the poky has been only installed half way.
Related: OS#5801
Change-Id: I8ff8e72a5974378327d4692341b0a371c667b741
include_tasks and import_tasks have similar functionality.
Use import_tasks when importing non-variable depending files.
Further use import_tasks when not used within a loop.
Closes: OS#5797
Change-Id: I29766c65b9e1601a20aa8f20a438e8368c65f6a8
As seen in code review here:
https://gerrit.osmocom.org/c/libosmocore/+/30934
... we do care about not using braces for single statement blocks. Let
the linter comment on it.
src/osmo_io.c:143: WARNING:BRACES_NOT_NECESSARY: braces {} are not necessary for single statement blocks
src/osmo_io.c:271: WARNING:BRACES_NOT_NECESSARY: braces {} are not necessary for single statement blocks
src/osmo_io.c:306: WARNING:BRACES_NOT_NECESSARY: braces {} are not necessary for single statement blocks
src/osmo_io_poll.c:63: WARNING:BRACES_NOT_NECESSARY: braces {} are not necessary for single statement blocks
src/osmo_io_poll.c:117: WARNING:BRACES_NOT_NECESSARY: braces {} are not necessary for single statement blocks
Change-Id: I481d1b24a909173520a544ffd567bb8357729f2a
Post a link to gerrit when starting the build that contains the link to
the pipeline, without sending mail notifications.
This is useful when a gerrit verification build takes rather long, and
it's not clear if a build for gerrit verification was actually started
or not. Also I find this useful when debugging the CI scripts.
Change-Id: I75c5b8874f606739ff557ff0711bb9449a2b4259
Rename the jenkins job from gerrit-pipeline-result to
gerrit-verifications-comment, as the next patch will not only use this
job to post a comment at the end of the gerrit verification, but also at
the beginning when the pipeline starts.
Give the pipeline_summary* scripts more generic names as well.
Change-Id: I1b947522aa5f2bb21f5e438db9df3420c998f1bc
Delete the part that was using the "blocking" variable too.
Fixes: 30ccbd3 ("jobs/ttcn3: don't block on same testsuite running")
Change-Id: I23bc6eb99d70447263b79bc4e33524a6932b43eb
Don't block jobs if other jobs with the same testsuite are already
running. This used to be necessary as we had subnets hardcoded per
testsuite, and therefore couldn't run it twice on the same host (e.g.
once against latest, once against nightly).
Related: OS#5802
Depends: docker-playground I57152b08ef0f38e17e7019a8df032189b03f56cf
Change-Id: I3159403e2ce2ec184ee48b4ff4f145e718e9b428
Add the missing comma between "--without-sse, --without-neon", so the
matrix works as expected. Without this patch, the two builds with these
flags didn't run.
Change-Id: I51e58765dd33b15df2e9f2eb09c1260724e4ec9c
osmo-trx has just started to use submodules, so let's add the
related git commands here.
Closes: OS#5846
Related: osmo-trx.git Change-Id I36c65a8c725c4da76dc70006cd96b0a2b6878e84
Change-Id: I876fa0152268bd7a43ca4c452d75c26ebadf7a6e
As discussed with Pau, let's build the "osmo-iuh/master" branch of our
asn1c.git repository in jenkins. This branch is what we actually use for
osmo-iuh and "master" should track upstream master.
Related: OS#2435
Change-Id: Ic97a23a175b301e6f42f7ca67deb84dcc3ee3f90
We started using git submodules with osmo-trx. Adjust the obs scripts
to actually make the git submodules part of the source packages.
Note that this didn't fail in jenkins before with the rpm build
verification, as jenkins updates git submodules on its own.
Fix for:
[ 165s] Makefile.am:32: error: required directory ./osmocom-bb/src/host/trxcon does not exist
Change-Id: I51b423f3885d6ead5c21a83bdf8ef6051dc34fe3
This trigger job can run on any node, don't have it require a debian9
label that doesn't exist anymore.
Change-Id: I1a23a4c99fe007387f13e330b0b08f6941392829
Don't run this job on the osmo-gsm-tester machines. Right now this job
takes quite some time to build various docker images which we don't even
need on osmo-gsm-tester. It also uploads osmo-ci.git and
osmo-gsm-manuals.git, which don't need to be updated on these if we
don't run the osmo-gsm-tester jenkins jobs on them (see previous
commit). According to Pau they would be needed for
osmo-gsm-tester_ttcn3.
Related: OS#5811
Change-Id: I39d72740d896981f069ad339013c1e1e3d4f3bba
Disable these osmo-gsm-tester jobs, as they have been failing for a long
time and we currently won't spend time on fixing them.
Change-Id: I8db4fbe2c695e28eb9f7e738c5a848fb0071714a
Do not set a node for master-builds and gerrit-verifications to run on,
as this leads to needlessly blocking slots on the jenkins nodes.
Each of these jobs is a matrix job with a slave_axis. The matrix job
itself can run on the "builtin" node, as it practically doesn't cause
load - all it does is start other jobs in the matrix (even if there is
only one other job, which is the default). Jobs started in the matrix
job do run on a configured node already, as the slave_axis parameter is
set.
I've just noticed this problem because currently the raspberry pi nodes
are offline, and so the master-osmo-trx, master-osmo-pcu and other jobs
take up lots of build slots just to wait until the raspberry pi nodes
come online and an actual build can start.
Change-Id: I447dd152fcc942ec48d0bcfbadd496e879c882da
It seems that some users are running nightly builds in production on
EOL Debian 10, which we never imagined and hence didn't keep an archive
of those builds :/
Change-Id: I40c628e032e2c7ce8447657319a7c1206933c163
We typically keep nightly builds for the latest version of each
distribution. That is correct for CentOS and Debian, but we forgot
to update Ubuntu from 21.04 to 22.04 it seems :(
Change-Id: Ic82dfc7e8c4f4a362f7d05b5bc2069d42a0bcdb2
Ubuntu 22.04 is very much a stable/maintained distribution, so we
should keep an archive of "latest" builds for it.
Change-Id: I54988915ec4bcf2ebb1e5cd23ceb049789c56bca