ansible: fix updating /opt/coverity/current

Remove the previous /opt/coverity/current symlink, before creating the
new one. Otherwise the new symlink would be created inside "current"
pointing at the old version, instead of replacing "current" with the
new symlink.

  # ln -svf /opt/coverity/2023.6.2/* /opt/coverity/current
  '/opt/coverity/current/cov-analysis-linux64-2023.6.2' -> '/opt/coverity/2023.6.2/cov-analysis-linux64-2023.6.2'
  # readlink /opt/covervity/current
  /opt/coverity/2022.06/cov-analysis-linux64-2022.6.0

Add the verbosity flag to the command while at it.

(The glob is unrelated, why it is needed is described in
 I2b96d1e47f2697706a042937b2852f0fc5032a7b)

Related: SYS#6685
Change-Id: I4ecb4997829b3cc61c839d089bda44f821ca8b85
1 file changed
tree: d6ed985fd8222401fe43e4be5803f37c43925f7a
  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