OBS: move gerrit-binpkgs logic to separate script

As I'm preparing slides for a OsmoDevCon talk, I'm realizing that it is
quite cumbersome for users to build debian packages from Osmocom git
repositories (the same way gerrit does it, to reproduce errors locally).

Move the logic from the gerrit-binpkgs job to a separate script that can
be run from an Osmocom git repository, will figure out the repository
name from there and only needs the target distribution as argument.

Usage example:
  $ git clone https://gitea.osmocom.org/osmocom/osmo-ci
  $ cd libosmocore
  $ ../osmo-ci/scripts/obs/gerrit_binpkgs.sh debian:12  # or debian:11, debian:10, almalinux:8

Change-Id: I100d8dfc0c58bdafe7efb0fa4108031ce10398a5
3 files changed
tree: 570317c505e5ee618f4f5a830db1966ac79812d0
  1. ansible/
  2. contrib/
  3. coverity/
  4. jobs/
  5. lint/
  6. qemu-kvm/
  7. scripts/
  8. .editorconfig
  9. .gitignore
  10. .gitreview
  11. README.md
README.md

Osmocom CI and infrastructure files

ansible

Ansible rules for setting up machines of the Osmocom infrastructure. See ansible/README.md.

contrib

Scripts and files that did not fit into other directories.

coverity

Scripts used to submit the osmocom sources for coverity scan. This depends on a tokens.txt, see coverity/get_token.sh.

how to upgrade

  • Download the latest version from here
  • Find the "upgrade considerations" here
  • Place the resulting cov-analysis-linux64-$VERSION.tar.gz in ansible/files
  • Adjust coverity_version in ansible/roles/install-coverity/defaults/main.yml
  • Deploy the ansible playbook:
$ cd ansible
$ ansible-playbook -v -i hosts setup-jenkins-slave.yml -l coverity_slaves -t coverity
  • On success, only one task should be skipped (the "Please download..." task):
PLAY RECAP ********************************************************************************************************************
build2-deb11build-ansible  : ok=8    changed=4    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0
build3-deb11build-ansible  : ok=9    changed=4    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0
build4-deb12build-ansible  : ok=9    changed=4    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0

jobs

Jenkins Job Builder YAML files defining jenkins jobs. Read jobs/README.adoc for more information about deployment.

lint

The linter running on patches submitted via gerrit. See the wiki page Linting for more information.

qemu-kvm

A script to create a virtual machine with kernel gtp ggsn for qemu-kvm.

scripts

Scripts used by jenkins jobs. Various osmo*/contrib/jenkins.sh scripts assume osmo-ci to be checked out in the build slave user's home, i.e. using a PATH of $HOME/osmo-ci/scripts.

_docker_playground

A clone of docker-playground, so the scripts can build required docker images. This dir gets created on demand by scripts/common.sh, and automatically fetched and reset to "origin/master" (override with $OSMO_BRANCH_DOCKER_PLAYGROUND). The fetch and reset gets skipped if _docker_playground is a symlink. For development, set it up as follows:

$ git clone https://gitea.osmocom.org/osmocom/docker-playground
$ git clone https://gitea.osmocom.org/osmocom/osmo-ci
$ cd osmo-ci
$ ln -s ../docker-playground _docker_playground