aboutsummaryrefslogtreecommitdiffstats
path: root/contrib
AgeCommit message (Collapse)AuthorFilesLines
2017-10-20Disable doxygen in jenkins for embedded testsMax1-0/+1
There's no point in regenerating documentation with Doxygen in embedded environment. Change-Id: I6504db04445f5e9c1117379c8803e10df5634324
2017-10-20Cleanup jenkins build scriptsMax3-32/+26
* reorder builds to avoid rm -rf invocation * avoid useless double autoreconf * move common parts into shared helper * move common build steps into separate function Change-Id: I24e500e132f5c8e8133d35548cb7b4e4552331d0
2017-08-25Use value string check from osmo-ciMax3-36/+4
Change-Id: I513835be2d931d0a931cdfc996f361a451bc1a15
2017-06-23contrib: Enable -Werror by defaultPau Espin Pedrol2-4/+4
Change-Id: I1752cad1e34cb6e5f36edf3f538d803eff29d18c
2017-06-23jenkins.sh: Disable sanitize for FreeBSDPau Espin Pedrol1-1/+7
Our current build server uses clang-3.4.1 and FreeBSD10.3, and AddressSanitizer support is not good yet on those versions, triggering some link issues when it is enabled. I tested using newer clang 3.7.1 in the same FreeBSD version but another compiler error related to __builtin_cpu_supports is triggered. Conclusion: Explicitly disable AddressSanitizer until we move to FreeBSD11 with clang 3.8. Before this commit, AddressSanitizer was implicitly disabled due to a shell compatibility issue which is fixed in next commit in the series, thus we need to explicitly disable it here. Change-Id: I0db497045a2ebf7877232b28ae1fcf1fd89fb3f3
2017-05-26Introduce build script for arm-none-eabi cross-compilationsblobb1-0/+33
This is a necessary step to use libosmocore-arm dep in OsmocomBB. After this patch is submitted the "./contrib/jenkins.sh" line in libosmocore jenkins jobs [1][2] needs to be replaced with: if [[ "$JOB_NAME" == *"arch=arm-none-eabi,label=linux_amd64_debian8"* ]] then ./contrib/jenkins-arm.sh else # (FreeBSD && debian8)_amd64 builds ./contrib/jenkins.sh fi Furthermore, the "arch" matrix-build axis has to be created, holding "arm-none-eabi" and "amd64". Following combination filter is necessary to skip cross-compilations on FreeBSD buildslave: !(arch=="arm-none-eabi" && label=="FreeBSD_amd64") [1] https://jenkins.osmocom.org/jenkins/job/libosmocore/ [2] https://jenkins.osmocom.org/jenkins/job/libosmocore-gerrit/ Change-Id: I0db83ad2c94ada65c00fd1bcf867830dec80085d
2017-05-26Revert "Introduce build script for arm-none-eabi cross-compilations"blobb1-33/+0
"--enable-sanitize" does not work on jenkins build slave (debian8), although it worked out locally for me. Following patch will introduce corrected arm build script without "--enable-sanitize" option: https://gerrit.osmocom.org/#/c/2742/ This reverts commit ba58167e1bf6ff8815c4e9e0d7b0b63ba1c529f8. Change-Id: I644114679db1394e75ff12b0203ae8e568aff82c
2017-05-25Introduce build script for arm-none-eabi cross-compilationsblobb1-0/+33
This is a necessary step to use libosmocore-arm dep in OsmocomBB. After this patch is submitted the "./contrib/jenkins.sh" line in libosmocore jenkins jobs [1][2] needs to be replaced with: if [[ "$JOB_NAME" == *"arch=arm-none-eabi,label=linux_amd64_debian8"* ]] then ./contrib/jenkins-arm.sh else # (FreeBSD && debian8)_amd64 builds ./contrib/jenkins.sh fi Furthermore, the "arch" matrix-build axis has to be created, holding "arm-none-eabi". Following combination filter is necessary to skip cross-compilations on FreeBSD buildslave: !(arch=="arm-none-eabi" && label=="FreeBSD_amd64") [1] https://jenkins.osmocom.org/jenkins/job/libosmocore/ [2] https://jenkins.osmocom.org/jenkins/job/libosmocore-gerrit/ Change-Id: I9e07fb9e60830dbd585f22d9c658c46252ce399f
2017-03-31jenkins: also test build in separate dirNeels Hofmeyr1-0/+12
To make sure that new patches don't break a build done in another dir than srcdir, make jenkins verify that it still works. Even though 'make distcheck' also tests a build from a separate dir, this does not verify that BUILT_SOURCES are generated properly. If these already exist in the source tree from a previous 'make' issued in the source tree, the BUILT_SOURCES are not regenerated during 'make distcheck'. Hence a separate test run is necessary to ensure stability of new patches. Change-Id: I4b31538c155941fd241bcd33b0d39f2f8491ac1e
2017-03-16jenkins: add value_string termination checkNeels Hofmeyr1-0/+2
Change-Id: I7fe3678b524d602fc6aa14bc0ed06308df809a3e
2017-03-16contrib: add script to find unterminated value_string arraysNeels Hofmeyr1-0/+33
Unterminated value_string arrays are dangerous since get_value_string() and get_string_value() need to know where the struct ends. If the terminator is missing, they might run through and return arbitrary memory locations. Employ some regexes to find such unterminated value string arrays and return nonzero if any are found. This can be used in our jenkins build jobs to avoid committing unterminated value_string arrays. In fact I've found one in current libosmocore: gsm0808_bssap_names in gsm/gsm0808.c, fixed in a separate patch. Change-Id: I2bc93ab4781487e7685cfb63091a489cd126b1a8
2016-12-09contrib: add fsm-to-dot.py to draw osmo_fsm dotty graphsNeels Hofmeyr1-0/+710
Add a first version of a python script that tries to analyze .c source files to draw graphs of osmo_fsm implementations. So far it uses quick-and-dirty regexes. Change-Id: I155f57a608d600f59aedfd27ef66eb9772c124e7
2016-10-12configure: add --enable-sanitize, use in jenkins.shNeels Hofmeyr1-2/+3
--enable-sanitize adds address sanitizer CFLAGS/CPPFLAGS to the entire build. Also pass UBSAN_OPTIONS to the test suite run (only has effect during runtime). Add this flag to jenkins.sh's configure step. To ensure that we get the sanitize results, add 'make check' to jenkins to catch sanitize failures; Keep 'make distcheck' without ASAN; it has its own configure which omits --enable-sanitize. This way we test both with and without ASAN. Change-Id: Idf7f46fa048608c2951f2473cb528f6c8dc2681d
2016-10-12jenkins.sh: drop unecessary PATH, now in slave configNeels Hofmeyr1-1/+0
Change-Id: Ifaff3e5e13c920eb716a5609bfec2f96e10f17b0
2016-09-30jenkins.sh: output all test logs when 'make check' failedNeels Hofmeyr1-1/+3
Assume that cat-testlogs.sh from osmo-ci is installed in $HOME/osmo-ci/scripts, and call from jenkins.sh upon 'make check' failure. Change-Id: I18a08e7ade1a53783d5a4171fe825f61b49457be
2016-04-13jenkins: Enable tracing and error handling in bashHolger Hans Peter Freyther1-0/+2
Like jenkins we want to see what is actually being executed and fail if a subcommand has failed.
2016-04-13jenkins: Add build script used by jenkins on our public CIHolger Hans Peter Freyther1-0/+6
The actual script (removed unused and commented out handling) as invoked by jenkins. This can be used to locally try to reproduce the build.