Show where the symlink points at the start of the job, so we can see
which coverity version is currently installed.
Related: SYS#6685
Change-Id: If4a7c71759a6eb436eb47024565f169c6134e2e2
Run the coverity job inside docker, so all depends are available (fixes
that it currently fails because liburing isn't available for
libosmocore).
Depends: docker-playground I25862a7e3c8a73e13fd4a9237ab57500d8dfc95c
Change-Id: I5cfdb6b2e12e176ff6d6ed6c1b8505d7694993f9
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
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
Since [1] was merged this script is executed with '-xe' making it
fail immediately if a command returns a non-zero code. grep may
return 1 if pattern is not found, so let's suspend it.
Change-Id: I21a01478b64015fd699ed31634bf2fb1dc8f6750
Fixes: [1] Icf6546271a01cd9a3dab1ce0d1bc02807d08ad85
Since recently [1] osmo-upf depends on libosmo-{gtlv,pfcp}.so, which
are provided by libosmo-pfcp.git. We need to build libosmo-pfcp
before attempting to build osmo-upf, otherwise it fails:
configure: error: Package requirements (libosmo-gtlv >= 0.1.0) were not met:
Package libosmo-gtlv was not found in the pkg-config search path.
Perhaps you should add the directory containing `libosmo-gtlv.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libosmo-gtlv', required by 'world', not found
Change-Id: Ic4fe7b40cf9a57e0462b2c0806f8810fcc04a10c
Mention that new projects should be added to the components list, as a
lot of projects were not listed there. I've just added all missing
ones. Put it as comment in prepare_source_Osmocom.sh because that's
probably the most likely spot where people will see it while adding a
new project.
Change-Id: I48630f4eb5b4f2b7b714697d15432c0d71f136f9
Run the coverity/jenkins.sh from the osmo-ci.git repository that jenkins
checks out at the beginning of the build, instead of using a copy in ~/
that is updated whenever pushing to master. This makes it less
confusing, I configured the job to use a WIP branch and didn't realize
that it still used the code from master.
Change-Id: Ie992d71d2afec6982447b8fe3626c821a9e48d19
The coverity jenkins job has been failing since we tried to build tests
for all projects (and in an earlier attempt, build and run tests for all
projects). Make the coverity job work again by skipping build of tests
for asn1c. I looked into it earlier and the cause wasn't obvious to me,
and it's currently not worth spending time on.
Fix for:
libtool: error: cannot find the library '../../skeletons/libasn1cskeletons.la' or unhandled argument '../../skeletons/libasn1cskeletons.la'
Change-Id: Iba0bfe0e753812058436eaf515391eb1f4b09951
In change 82265bc46d [1] I attempted
to fix aaeab8c976 [2], however both
pushd and popd commands are not available in plain shell.
Change-Id: Ib63ded66781c774e16773537c3b943237904b03e
Fixes: [1] I92b648cd1e80399561067eae99426faed1ff1e25
Fixes: [2] Idf0714a59356633021be21acc47f9471d059b7fe
Compiling unit tests would allow Coverity to analyze them too and thus
find more bugs. The problem is that binaries listed in check_PROGRAMS
are not compiled during 'make all', but only during 'make check'.
One approach [1] is to run 'make check' in do_build(), however it breaks
'Coverity-Upload' job because some unit tests are failing. This is why
I had to revert bf84ba9f69 together with
ae41942214 that was supposed to fix it.
Even if all unit tests were passing, we still don't want to execute them
because running tests is beyond the scope of 'Coverity-Upload' job.
Another approach is to patch Makefile.am files replacing check_PROGRAMS
with noinst_PROGRAMS, so that the test binaries are compiled during
'make all' but not executed.
Change-Id: Idf0714a59356633021be21acc47f9471d059b7fe
Related: [1] I3f3149a61df96646798c72d0ad31c41b97e6b81f
When running these scripts locally while developing, it's more useful to
not fetch the sources and clean the git repository instead. Add
environment variables that allow doing this.
Change-Id: Id6d3cdabb776435df36c0145d93e514693062fca
Don't attempt to clone layer1-api if it exists already. Jenkins deletes
the sources for every run, but for development it is useful to be able
to run this script multiple times without getting errors.
Change-Id: I17bd76a5ff6abafd4bd0189073930f45de20afe8
'make check' does not pass for asn1c, it fails with the following. I
looked into it and the cause is not obvious to me, so in order to make
the jenkins job pass again I've changed it back to just run 'make'
instead.
Fix for:
...
fatal: making test-suite.log: failed to create ../tests/98-attribute-class-OK.asn1.log
fatal: making test-suite.log: failed to create ../tests/99-class-sample-OK.asn1.trs
fatal: making test-suite.log: failed to create ../tests/99-class-sample-OK.asn1.log
Makefile:735: recipe for target 'test-suite.log' failed
make[3]: *** [test-suite.log] Error 1
make[3]: Leaving directory '/home/osmocom-build/osmo-ci/coverity/source-Osmocom/asn1c/libasn1fix'
Makefile:841: recipe for target 'check-TESTS' failed
Disable 'make check' for libusrp too as it also didn't pass:
Making check in usrp2
make[4]: Entering directory '/tmp/coverity/source-Osmocom/libusrp/firmware/src/usrp2'
test -f `basename 'eeprom_boot.a51'` || ln -s 'eeprom_boot.a51' .
test -f ../common/`basename 'eeprom_boot.a51'` -o \
\! -f `dirname 'eeprom_boot.a51'`/../common/`basename 'eeprom_boot.a51'` \
|| ln -s `dirname 'eeprom_boot.a51'`/../common/`basename 'eeprom_boot.a51'` ../common/`basename 'eeprom_boot.a51'`
sdas8051 -plosgff `basename 'eeprom_boot.a51'`
sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \
-c -o eeprom_init.rel `test -f 'eeprom_init.c' || echo './'`eeprom_init.c
test -f `basename '_startup.a51'` || ln -s '_startup.a51' .
test -f ../common/`basename '_startup.a51'` -o \
\! -f `dirname '_startup.a51'`/../common/`basename '_startup.a51'` \
|| ln -s `dirname '_startup.a51'`/../common/`basename '_startup.a51'` ../common/`basename '_startup.a51'`
sdas8051 -plosgff `basename '_startup.a51'`
make[4]: *** No rule to make target '../../lib/libfx2.lib', needed by 'eeprom_boot.ihx'. Stop.
All other 'make check' calls do work as expected, the build script runs
through again with this patch.
Fixes: bf84ba9f ("coverity/build_Osmocom.sh: run 'make check' in do_build()")
Change-Id: I6b9eb8e73c51d925897579fb51bc0a1e86e77270
This enables building and running tests (check_PROGRAMS), so that
Coverity will be able to find bugs in their code too.
Change-Id: I3f3149a61df96646798c72d0ad31c41b97e6b81f
Starting from I57e77f927ee9e169cc794c5dc6b128a2d590201b, autotools
are required in order to configure and build the project.
Change-Id: I48696af1ccb5eb884f5de9085bcda37fc41766fb
Fixes: I74da8b523c9d51887d5eceb01ca0f505bb846812