Age | Commit message (Collapse) | Author | Files | Lines |
|
Change-Id: I71de94ef34c3ccc3610643bd8861b78cccd266a5
|
|
Add a new script that syncronizes base distributions from openSUSE's
OBS, like Debian:12. This is done by getting "meta" and "prjconf" from
the source OBS, adjusting it and writing it to our OBS instance.
The motivation for this is making our OBS more resilient, by using these
synchronized projects we can build packages even if the openSUSE OBS API
is not reachable.
Related: OS#6165
Change-Id: I00122f7819ba682cb791c370d781377cfb302629
|
|
Adjust lib/osc.py to take the OBS project from a global variable that
can be set with lib.osc.set_apiurl(), instead of using
lib.args.obs_project. Move the sanity check to set_apiurl().
This is in preparation for adding a new sync script, which will operate
on multiple OBS instances.
Related: OS#6165
Change-Id: Iabb871bcb432f2fbdaec9cbcab3d663ccf969901
|
|
rebar3 is in debian bookworm's repositories, hence it is not needed
anymore to use osmocom:latest here.
Change-Id: Iddd0295ee928fc9a47d4d206e414b78a2561d13d
|
|
Replace the legacy xgoldmon job (not done with jenkins-job-builder) with
a new master-xgoldmon job that works more similar to other master jobs:
- build in docker
- have build commands in a jenkins.sh script
Put the jenkins.sh script into osmo-ci, as the upstream repository is
outside of Osmocom infrastructure.
The motivation for this change is, that the current xgoldmon job is
failing since libosmocore depends on liburing by default. This uncovered
that the job is still running outside of docker, where the dependency
has already been added. The following patches will modernize other jobs
which have the same problem.
Change-Id: Ice5704eb12f3c3a777961bc18a55fac63df80fd6
|
|
Check for working SSH right at the start of the job, so we don't need to
wait 2 minutes until it has built everything to find it out.
Change-Id: Id93c15d38a49859dc63d39f70f051a7df871c398
|
|
Run the osmocom-api job inside docker, so all depends are available
(fixes that it currently fails because liburing isn't available for
libosmocore).
Use the contrib/known_hosts file, instead of writing an own copy during
the job.
Change-Id: I6e831c71c4c88772c3e4232fcb1a9e2c1c73d997
|
|
Rewrite the osmocom-release-manuals script (previous version is in
docker-playground Ic35a28a386170b85d32aab8f2bd33e48e6d45392):
* Instead of using a separate docker container for this, that also lists
all dependencies for all packages (as needed to pass ./configure), use
debian-bookworm-build and install missing packages at time of
generating the tarballs with "apt-get build-dep". Missing dependencies
are typically other Osmocom libraries.
* This allows removing the debian 11 based release-tarball-build-dist
container. As the script doesn't depend on a separate docker container
anymore, move it to osmo-ci.git.
* Make it similar to scripts/manuals/publish-manuals-for-tags.sh, so it
is easier to maintain both.
Related: OS#6057
Change-Id: I9f8b671b9780da500637a64fc4dbc72b450f9d11
|
|
Adjust the patch, to not remove the "NOTE: TO REMOVE DRAFT MODE" as it
isn't in osmo-gsm-manuals anymore.
Related: osmo-gsm-manuals I23d11bab274793eb8bcedc3fd9290901823e32d2
Change-Id: Ia27cb8e4dd0204c0a91c322bed65bf8c9847a7be
|
|
It is not used anymore, stop building it.
Related: OS#6057
Change-Id: I8e11e4c87fea9a2cfc5e72f0427cf4ca82030554
|
|
Related: OS#6057
Change-Id: Ifa56e7f035fde5fb750376c64572277de2417d65
|
|
Related: OS#6057
Change-Id: I51fa3c5212b5e29f4c2804384781693e8de2c097
|
|
Having two debian entries in there in random order looks weird so sort
the job lists.
Change-Id: I795f821783b52a6a9cd1967d33f67b656efccf22
|
|
Change-Id: I0ea40663220f7eb8ee72e43f3f6b776be5835db2
|
|
Make it possible to set a list of distributions to check in
gerrit-verifications.yml instead of only having one boolean for testing
two hardcoded rpm and deb distributions.
Change-Id: I59487e3dc2f55057de1b6a322f088fff0d18654c
|
|
* Deduplicate the code to run a job by moving it to a function.
* Print the status of jobs right after they finished, instead of waiting
until all jobs are done
* Make the status print messages more readable
Change-Id: I641a5b483721ce2bbf21bd61d8f4e83faf94ac24
|
|
Upgrade from debian 11 for master and debian 10 for gerrit
verifications to using debian 12 for both.
Previously we intentionally built against the older debian 10 version
to ensure that our programs still build there. However it is easier to
maintain the docker containers if we just use the most recent debian
version for both and it makes the build environment more consistent - if
a patch passes in gerrit verifications, we expect it to pass in master
builds as well. And the other way around, I can just run CI of all
master jobs when developing a change and assume that if they pass,
gerrit verifications will run as well.
As long as we provide binary packages in OBS for debian 11, 10, ... we
will still notice if a build breaks on an older debian release. I think
this is good enough given that it will probably not happen that often,
but if we decide that we really want to ensure it still builds on older
distros at gerrit-verification time then the more suitable place to add
this would be in the deb-build verification test. It is more
maintainable there, because the dependencies just get installed from the
debian/control file, no need to add all of them to a docker container
beforehand.
The new container is debian-bookworm-build, see the docker-playground
commit for reasoning why it is not debian-bookworm-jenkins.
Related: OS#6057
Depends: docker-playground I49aaf62b5b97775f923453611df3b91354a640a0
Change-Id: I079e55a1325083714c8d39f922b2563e843fc0bc
|
|
Related: OS#6057
Change-Id: Ic81dfbfa232b92e3fd9af9c5d7d0f2aca4b9879c
|
|
Add a workaround that upgrades the osmocom-nightly package before
installing build dependencies for the given package.
This is not very elegant, it would make more sense if the docker image
we use here did not have the nightly Osmocom repository configured in
the first place (as this job is about creating manuals for tagged
releases). But the image is used by jenkins build verification too and I
don't think it's a good use of time to change this right now.
Fix for:
+ apt-get -y build-dep /build
Note, using directory '/build' to get the build dependencies
Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
osmo-gsm-manuals-dev : Depends: osmocom-nightly (= 202305300026) but 202305290026 is to be installed
Change-Id: If28a34d3e5b07216c5310b19623fcc42692f65c3
|
|
The yum-builddep command already has a mechanism to update the package
index data if the last update (when the docker image was built) was some
time ago. However when the packages we use happened to be updated in
that timeframe, the indexes are not updated and attempting to download
them leads to 404 errors. Force refresh all package indexes to avoid
this.
Fixes: OS#6038
Change-Id: I6e2592466b6190782cdd93e00b3d5020fd665372
|
|
Use the optimization of only installing osmo-gsm-manuals-dev and all its
dependencies once not only with debian, but also with ubuntu.
Change-Id: Ic9fef9f10b4384538e7a73479bf57a9b737a9a55
|
|
Make it possible to configure a different feed than master inside the
docker container that gets used to build the packages. This way we can
build ubuntu packages against nightly.
We don't build the Osmocom packages in the master feed for Ubuntu as we
rarely have a build error that only happens on ubuntu. With this patch,
it can be easily reproduced if it happens.
Change-Id: Ibc27459815f26e8c691c83fe594ff84962b991f5
|
|
Make it obvious that the argument passed to --docker is the Linux
distribution that will be used.
$ ./build_binpkg.py -h
usage: build_binpkg.py [-h] [-d [DISTRO]] [-j JOBS] [-r] [-v] package
Change-Id: Ibf6f1a8fce7fd13795f1c25c75e14fb9eb8aa2b6
|
|
Adjust the code so one can pass all versions, instead of hardcoding
only debian:11, ubuntu:22.04, almalinux:8. I'll use this for
reproducing a build error that happens on e.g. ubuntu:18.04.
Change-Id: Id85f5b67d144dc178d3fb23ff8e533a671473363
|
|
Enable configure options to build manuals with all VTY commands in the
script that builds manuals for tagged releases.
Related: OS#6013
Change-Id: I9685857348e3b38f13acc1429c7a49fb9e5d92f3
|
|
Add this alias to use all Osmocom packages, but no the misc packages
that would also be selected if not specifying the packages argument at
all (limesuite, neocon, open5gs).
This will be used for building packages from the rhizomatica branches,
so we don't check the git repositories of these misc projects for the
git branches.
Related: OS#5981
Change-Id: I4265f43408bc21ac8765449d6766381c75cafe86
|
|
Add a new argument to delete packages from OBS if the git branch does
not exist anymore, but the packages still exists in OBS.
Related: OS#5981
Change-Id: Ib5ccf93a5a0cf8981fc35976bb9e0d3a29721b8d
|
|
Prepare to create new feeds for the rhizomatica/testing and
rhizomatica/production branches, which will be based on osmocom:latest.
They will depend on osmocom-latest (the "conflict package"/meta
package), even though their feed name is not latest.
Related: OS#5981
Change-Id: I58e33bb003e2a4af9e9a7b53e5f79a91c3b541eb
|
|
Set the proper https://obs.osmocom.org api URL, not "obs.osmocom.org".
The latter only works on jenkins because we have set up an alias there,
but not locally without setting up the same alias.
Change-Id: I663ba4f137a57890ba9a2079ef3453bb7544de8b
|
|
Fix for:
:: Listing files on server: /docs
Host key verification failed.
Related: OS#5902
Change-Id: I485e2268eec50f46ed0436d4b3a5cedfab20af96
|
|
Add a jenkins job that automatically builds manuals for release tags, if
they don't exist on the server already.
Closes: OS#5902
Related: https://downloads.osmocom.org/docs/
Change-Id: I0ecb238660553c3c857e1b310873eca8a8d09dab
|
|
Remove it, as the AMR patches have been upstreamed \o/
Related: https://gitlab.com/wireshark/wireshark/-/merge_requests/10025
Change-Id: I7f3f06bc5390ffac9b3760035831ae17d28b744e
|
|
Add it for debugging a build failure that we only saw on Ubuntu.
Related: OS#5946
Change-Id: I4a927447d8f8b89411b93c563fbc6aa8d4998ffa
|
|
Prepare to let all master-builds jobs use debian-bullseye instead of
debian-buster.
Depends: docker-playground I8e1741f86ffb8abd658d1e4e0415dfd11fb1a8a1
Related: OS#5949
Change-Id: I55bd5869ecd753549b8f2f2822e825623d940acd
|
|
Add a nightly jenkins job that does the following:
* Clone Wireshark from upstream
* Merge several Osmocom branches on top
* Build a source package
* Submit it to the osmocom:wireshark OBS project
Related: OS#2537
Change-Id: Ifb49c5cb22a4de0da30a920e5450a27172b11d73
|
|
Related: OS#2537
Change-Id: Iff5a530bebd645be13e0206ce0a670e1dfe6e2f9
|
|
Prepare to add a wireshark package. It will be in its own
osmocom:wireshark repository, and not in osmocom:nightly, :latest,
:master, so it's not added to lib/config.py.
Move lib.set_args() before parse_packages(), so the latter is able to
use lib.args.allow_unknown_package.
Related: OS#2537
Change-Id: I007f937ccb629e0593ec9253541ed05df42fac66
|
|
During refactoring, conflict_version was changed to version here, which
was wrong. The packages need to depend on the conflict_version of the
meta package, version is the version of the package itself.
Fix for:
The following packages have unmet dependencies:
libosmo-netif-dev : Depends: osmocom-nightly (= 202303160009) but it is not going to be installed
Depends: libosmocore but it is not going to be installed
Depends: libosmonetif11 (= 1.3.0.8.9e65.202303160009) but it is not going to be installed
libosmocore-dev : Depends: osmocom-nightly (= 1.8.0.79-b394d.202303170006) but it is not going to be installed
Depends: libosmocore but it is not going to be installed
Fixes: 0ed0e464 ("obs: don't pass conflict_version through functions")
Change-Id: I2326e3817c6f6887ef1196e603c3877768119a66
|
|
Prepare to use this for wireshark, to build a branch on-the-fly that
does not get pushed to origin, with Osmocom patches on top of upstream
master.
Related: OS#2537
Change-Id: Ifc963daf51ba3542f67420daaf7b29745404a92e
|
|
Change-Id: Ide0c1f5452f5ce965541b45039345abc52b3d140
|
|
Change-Id: Ieb49e5f8630e3e918b11a7a225febbbcee2e82b3
|
|
Change-Id: I0689868db6fadaaaca470cdefbf60ceedc2eb225
|
|
Change-Id: I3d712e94d56269c49ee5baecfee1fa9f35101488
|
|
Change-Id: I9ec6d04c51bc795dd9cd4738313e60a556791eb2
|
|
Change-Id: I9124d33c45ef3fef48666b485fd169eec0eb393a
|
|
Change-Id: Id213ae155f34c74529845ff86468b68ffa6ffb1d
|
|
Prepare to add more arguments to the OBS scripts, so they can be used
for building the wireshark package in its own OBS project.
It was not so clear to me when writing this initially, but with more and
more arguments getting added: it's not very maintainable to pass each
variable from the argparse result several functions down to where it
gets used... so unfortunately this means the code needs to be refactored
to just use libs.args in the few lines of code where the arguments
actually get used.
This patch adds lib.args, and the next patches refactor existing code to
use it instead of passing parameters, where it makes sense. After that
follow the patches related to adding the wireshark package.
Related: OS#2537
Change-Id: I48853444f1386dfb842c174ebc45f9decc8bec0f
|
|
Add the osmo-hlr releases where tests are not foward-compatible to the
related libosmocore change. Fixup releases 1.6.1 and 1.5.1 have been
made that are foward compatible.
Related: libosmocore I446e54d0ddf4a18c46ee022b1249af73552e3ce1
Change-Id: Ia772c9e823e494fdfce179da58735d3e6cee8e95
|
|
Related: OS#5884
Change-Id: Ib84a51aa8465cf513cb2e4b31121a04760f688e9
|
|
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
|