Osmocom Continuous Integration
Go to file
Oliver Smith b2e128511d 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
2024-04-25 14:13:45 +02:00
ansible ansible: fix updating /opt/coverity/current 2023-12-08 13:40:08 +00:00
contrib obs-mirror: rsync over from remote server via rsync 2023-11-15 15:17:07 +01:00
coverity coverity: build osmo-hnbgw with '--enable-pfcp' 2023-12-12 14:52:16 +00:00
jobs OBS: move gerrit-binpkgs logic to separate script 2024-04-25 14:13:45 +02:00
lint checkpatch: recognize json_array_foreach etc. 2024-04-03 15:32:46 +00:00
qemu-kvm/ggsn-kernel-gtp ggsn-kernel-gtp: Use my current SSH public key 2022-11-04 15:07:35 +00:00
scripts OBS: move gerrit-binpkgs logic to separate script 2024-04-25 14:13:45 +02:00
.editorconfig editorconfig: new file 2022-02-11 15:44:16 +01:00
.gitignore scripts/tarballs: add osmo-e1-recorder 2023-10-19 11:02:18 +02:00
.gitreview Add .gitreview 2017-06-12 18:33:33 +02:00
README.md README: document how to upgrade coverity 2023-12-08 09:34:32 +01:00

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