While generating srcpkg we're not really interested in entire
project history (which can be quite heavy) - let's only get
the bare minimum from git.
Change-Id: I71629c244d2c29728a88871e83b20493341321c8
Having an option to explicitly checkout sources for package from gerrit
using numeric ID comes in handy for testing changes.
Related: OS#4107
Change-Id: I403c2083ef8c3f6f966c5b376fb13ea46d8a7a2b
Not all the required programs are actually required to build subset of packages.
Add option to ignore the default check.
Change-Id: I8b5eaedab87b586fb1ca4c22746be4dfbb3c2176
Don't pass stdin to the programs, as we expect them to run
non-interactively and also don't show the program's output unless -v is
used or the exit code is not 0.
Change-Id: I7e893101c2a3e7b005659ec72aa44fa932b7ccd9
Check if the oscrc exists, as otherwise the osc command will
interactively prompt for the credentials. If running without verbose
mode (the default), the command output is hidden and so it would just
appear to be hanging without this patch if the config doesn't exist.
Change-Id: I6f140b2c1d171d3019fd259399e6a46da9c6451f
When running in verbose mode, it's enough that the output is displayed
while the command is running. Don't print it again on error.
Change-Id: I4fcf2421a6f82bd94ba098b39f58e5d3f18aa8fd
Instead of having two "wrappers:" sections where the second overwrites
the first one, combine them into one.
Fixes: ffbf40c ("jobs/gerrit-lint: add ssh credentials")
Change-Id: Iaa0603dab4aee4e99f196eff862d76e4e8b67af9
Use robot comments to add line based comments for the lint output.
Add checkpatch_json from coreboot 9cae17d0 to parse the checkpatch
output and convert it into a gerrit parsable format.
Example:
https://gerrit.osmocom.org/c/osmo-bsc-nat/+/29294
Co-Authored-By: Oliver Smith <osmith@sysmocom.de>
Change-Id: I1a48ddb976e0f53bfc0552d0be11e42ba68d9e49
Extend the jobs to clone the trusted osmo-ci.git repository from which
we execute the linter next to the untrusted code from gerrit, and add a
parameter for the osmo-ci branch.
Change-Id: Ic4134e6755014b3e5fbf6d3225e49c0ca5b27f9b
Don't allow overriding cmd per repository anymore. This was used in the
gerrit-osmo-ci-lint job to run the linter from the checked out
osmo-ci.git repository (the one with the untrusted code submitted to
gerrit).
This would become problematic with a future patch that will attach the
ssh agent to the lint jobs (so jenkins can leave review comments over at
gerrit).
Change-Id: Iad23da08898205fafd1ae36256c8f7b6d7506d40
Make sure scripts/osmo-ci-docker-rebuild.sh runs at least once a day on
the jenkins nodes, so the docker images are less likely to expire due to
being unused. This was the reason for master-osmo-opencm3-projects and
gerrit-osmo_dia2gsup failing.
Related: https://osmocom.org/projects/osmocom-servers/wiki/Docker_cache_clean_up
Change-Id: If5c4b3cb87100ab6c44d717a17986a4f0c6570fe
I didn't receive mail notifications about failing
master-osmo-opencm3-projects jobs. It seems they are not getting
through on the gerrit-log mailing list, searching for jenkins gives no
results:
https://lists.osmocom.org/hyperkitty/search?mlist=gerrit-log%40lists.osmocom.org&q=jenkins
And it seems to be the wrong ML anyway, so change it to
jenkins-notifications.
Change-Id: I15a747411d928055c71603cd4475289a77c8e749
Don't attempt to install nftables-devel or python3-nftables in centos8
in the repo-install-test. What happens is, that dnf tries to install the
versions from the centos repositories, which conflict with the ones from
the OBS repositories. This fixes the failing
Osmocom-repo-install-centos8 jenkins job.
Change-Id: I57670069cc09a5493667971997f0245e1d6a7259
Instead of hardcoding https://git.osmocom.org for all clones, use
the osmo_git_clone_url function. This clones via https from gerrit where
possible, it should fix the many errors we are currently seeing from
the master-openbsc job:
+ osmo-deps.sh libosmo-sccp
+ project=libosmo-sccp
+ branch=master
+ git branch -a
+ grep -c remotes/origin/master$
+ [ x1 != x0 ]
+ branch=origin/master
+ test -d libosmo-sccp
+ git clone https://git.osmocom.org/libosmo-sccp libosmo-sccp
Cloning into 'libosmo-sccp'...
error: HTTP/2 stream 0 was closed cleanly, but before getting all response header fields, treated as error (curl_result = 92, http_code = 0, sha1 = d23e38020fdbb685570145acd3a35e22a5a91344)
error: HTTP/2 stream 0 was closed cleanly, but before getting all response header fields, treated as error (curl_result = 92, http_code = 0, sha1 = 68b450098714e3015a65b6628a7e61ac09dd4d47)
error: Unable to find 68b450098714e3015a65b6628a7e61ac09dd4d47 under https://git.osmocom.org/libosmo-sccp
Cannot obtain needed tree 68b450098714e3015a65b6628a7e61ac09dd4d47
while processing commit d23e38020fdbb685570145acd3a35e22a5a91344.
error: fetch failed.
Related: https://lists.osmocom.org/hyperkitty/list/openbsc@lists.osmocom.org/thread/RHMXTPTKU2SPGCVXF55RFJQ5GYBZ46CO/
Change-Id: I700d608ff74eca3981ed41f04ee9ced9629436aa
Deb and rpm packages don't build for osmo-upf so disable it again until
it is fixed.
Related: OS#5655, OS#5654
Change-Id: Idf18159b786c51154fda9b40758b08a8656fc215
For the conflict test, don't attempt to install packages from the next
feed for centos8. This was useful when we didn't have binary packages
for centos8 for latest yet, but we have them now. The next feed existed
temporarily and isn't updated anymore for a long time. We did not add it
to obs.osmocom.org.
This is in preparation for adjusting repo-install-test to use packages
from obs.osmocom.org, where we don't have a next feed.
Change-Id: I73a6c051c423eb30ddeab1688fc78fe959e60cf4
Drop _MIRROR variables, as both the testsuite packages and the packages
to test are now on downloads.osmocom.org. Previously these variables
were necessary as the testsuite packages were only on
download.opensuse.org (before we set up obs.osmocom.org, which publishes
packages to downloads.osmocom.org).
Change-Id: I34050da1e2444cf684ff8bd07673e3268b4dd497
Get the centos8 packages directly from the package repository again
(https://downloads.osmocom.org/packages/) instead of getting them from
the delayed obs-mirror dir (https://downloads.osmocom.org/obs-mirror/).
Use the packages generated from obs.osmocom.org for the testsuite too.
This reverts 526f1e12d3 and
I8201f34a0f9747eea78c358a626cc3981d7407c4 which set this up to work
around sporadically missing metadata files from download.opensuse.org.
Change-Id: Ic7920ad71a0cb6362883f8b9ed3dbc9bbb992988
If there's an empty debian/changelog, packaging needs to be fixed in the
git repository of the project. Print a meaningful error instead of:
File "/obs/lib/srcpkg.py", line 68, in get_version_for_feed
if ":" in ret:
TypeError: argument of type 'NoneType' is not iterable
Change-Id: I294d844ccccfa12599b6ba1def087e4a32d289e7
As Neels pointed out, with the current code the 2022q1 and similar feeds
do not get checked out properly if:
* the repository was not freshly cloned (like jenkins would do)
* the repository was fetched (--git-fetch)
Instead of the last revision of that branch from origin, we get the
revision that was previously checked out on the branch. Fix this by
prepending origin/.
Change-Id: I2e265fc84abd4596c386bb56cbabb2af121dc7ca
Fix the Osmocom-list-commits jenkins job that is currently failing with:
fatal: repository 'https://git.osmocom.org/osmo-upf/' not found
Change-Id: I2acb9880be57411f11805a2195076b514156aaf3
In case one of the master-buils is segfaulting or has an error in the
testsuite, collect the relevant files and store them as artifacts.
It was asked in the related issue to do this only on error, however
while there's an option to archive only artifacts when a build is
successful, there is not an option to do it only on failure. So just do
it always, the testsuite.log file is typically just a few kb in size.
core files should only get generated on error.
Closes: OS#5642
Change-Id: I91d4b995b16c8e028a5dff19b0e0f09c01d8c8c6
git.osmocom.org is a mirror of gitea.osmocom.org, let's build from
the actual master repo, not from the (possibly slightly outdated) mirror
Change-Id: I12d090a9ee7fde09892567ada739826484a4a35b
* master-libosmo-pfcp is triggered directly by libosmocore, not
by master-libosmo-netif, nor master-libosmo-abis, so
** fix comment explaining the hierarchy.
* master-osmo-upf is triggered by master-libosmo-pfcp, so
** it should not be triggered directly by libosmocore.
Change-Id: Ie4a5cb47464e9abfc9d04e63e9e71619f33ffd42
Fixes: Icb75adec886cf1053b80c968fea59e597ed289a7
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
Change the rsync command to use the packages from
/downloads/home/packages/web-files/osmocom: on the same server as
source, which is where obs.osmocom.org is pushing the packages.
Remove xUbuntu_19.04 from the directories to sync, as we don't build for
it anymore. It's not an LTS release (unlike 18.04, 20.04) and it's EOL.
Related: OS#5557
Change-Id: Id6be69530a7aa65b0cf3866fc7e65af79c9d9d45
Looks like I copied the list of packages from the old latest script, so
these two that were only in nightly are missing. Once added, they will
be built for nightly again and not for latest as there's no tag matching
the patterin in the git repositories.
Change-Id: I4b96f15e95c70f1dca12a292964e6f12b04e4a04