Osmocom Continuous Integration
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
osmo-ci/jobs
Oliver Smith aa13c6e302 jobs: new naming scheme for ftp.osmocom.org keys 16 hours ago
..
README.adoc jobs: use "cmd: |", not "# keep first line ..." 4 years ago
coverity.yml jobs/coverity: remove display-name 2 weeks ago
gerrit-binpkgs.yml jobs/gerrit-binpkgs: don't use multiple-scm plugin 3 weeks ago
gerrit-lint.yml jenkins-gerrit: fix ambiguous use of review api 2 weeks ago
gerrit-pipeline-result.yml jenkins-gerrit: fix ambiguous use of review api 2 weeks ago
gerrit-verifications-dahdi.yml jobs/gerrit…-dahdi: don't use multiple scms plugin 3 weeks ago
gerrit-verifications.yml jobs/gerrit: don't only use debian 9 lxcs 3 days ago
master-builds-dahdi.yml jobs/master…-dahdi: don't use multiple scms plugin 3 weeks ago
master-builds.yml jobs/master-builds: use binaries ssh credentials 16 hours ago
octsim_osmo-ccid-firmware.yml update git URLs (git -> https; gitea/gerrit) 4 months ago
osmo-gsm-manuals-trigger.yml update git URLs (git -> https; gitea/gerrit) 4 months ago
osmo-gsm-tester-builder.yml update git URLs (git -> https; gitea/gerrit) 4 months ago
osmo-gsm-tester-runner.yml update git URLs (git -> https; gitea/gerrit) 4 months ago
osmo-gsm-tester-trigger.yml jobs: Add OGT open5gs build jobs 2 years ago
osmo-gsm-tester_run-gerrit.sh jobs: osmo-gsm-tester: Drop use of OSMO_GSM_TESTER_CONF for default conf dir 3 years ago
osmo-gsm-tester_run-prod.sh jobs: osmo-gsm-tester: Drop use of OSMO_GSM_TESTER_CONF for default conf dir 3 years ago
osmo-gsm-tester_run-rnd.sh jobs: osmo-gsm-tester: Drop use of OSMO_GSM_TESTER_CONF for default conf dir 3 years ago
osmo-gsm-tester_ttcn3.sh jobs: osmo-gsm-tester_ttcn3: Fix path to jenkins script 3 years ago
osmocom-api.yml jobs: new naming scheme for ftp.osmocom.org keys 16 hours ago
osmocom-build-tags-against-master.yml Replace most remaining git.osmocom.org urls 2 months ago
osmocom-depcheck.yml Replace most remaining git.osmocom.org urls 2 months ago
osmocom-list-commits.yml Replace most remaining git.osmocom.org urls 2 months ago
osmocom-obs-check-builders.yml jobs: add osmocom-obs-check-builders 1 month ago
osmocom-obs.yml jobs/obs: don't upload to build.opensuse.org 4 weeks ago
osmocom-release-tarballs.yml jobs: new naming scheme for ftp.osmocom.org keys 16 hours ago
registry-rebuild-upload-fpga-build.yml update git URLs (git -> https; gitea/gerrit) 4 months ago
registry-rebuild-upload-titan.yml update git URLs (git -> https; gitea/gerrit) 4 months ago
registry-triggers.yml update git URLs (git -> https; gitea/gerrit) 4 months ago
registry-update-base-images.yml jobs/registry-update-base-images: drop old images 5 months ago
repo-install-test.yml update git URLs (git -> https; gitea/gerrit) 4 months ago
ttcn3-testsuites-kernel-git.yml Replace most remaining git.osmocom.org urls 2 months ago
ttcn3-testsuites.yml jobs/ttcn3: notify Sukchan for open5gs testsuites 2 weeks ago
update-osmo-ci-on-slaves.yml jobs/update-osmo-ci: add build2-deb11build-ansible 2 days ago
update-osmo-python-on-slaves.yml jobs/update-osmo-*: change mail recipients 5 months ago

README.adoc

These jenkins.osmocom.org job definitions, managed by
https://docs.openstack.org/infra/jenkins-job-builder/index.html[Jenkins Job Builder]

*Prepare:*

Install jenkins-job-builder:

For debian 9, see troubleshooting below. Otherwise:

apt-get install jenkins-job-builder

Have a jenkins-job-builder.ini file. One of

~/.config/jenkins_jobs/jenkins_jobs.ini
/etc/jenkins_jobs/jenkins_jobs.ini

or place one in here and pass it to jenkins-jobs using the --conf file.

Make sure the file not world readable to minimally safeguard your jenkins password.
Instead of using your jenkins password, use an *API Token*. To retrieve your token go
to Jenkins via a Webbrowser, click on your Username in the right corner, click on configure,
click on *Show API Toke...*.

jenkins_jobs.ini:

[jenkins]
user=my_user_name
password=my_api_token
url=https://jenkins.osmocom.org/jenkins

and

chmod go-rwx jenkins_jobs.ini

*Update a single job on jenkins.osmocom.org:*

jenkins-jobs --conf jenkins_jobs.ini update gerrit-verifications.yml gerrit-osmo-msc

NOTE: when you supply a name not defined in that yml file, you will not get an
error message, just nothing will happen.

*Update all jobs of one file:*

jenkins-jobs --conf jenkins_jobs.ini update gerrit-verifications.yml

*Update all jobs in all files:*

jenkins-jobs --conf jenkins_jobs.ini update ./

*Troubleshooting:*

- 'jenkins.JenkinsException: create[gerrit-osmo-msc] failed'

jenkins.osmocom.org is not reachable, or URL in the config file is erratic.
Make sure it is exactly

url=https://jenkins.osmocom.org/jenkins

- newlines:

Use 'key: |' to keep new lines in multiline values, e.g.:
- shell: |
echo hello
echo world

See also:
* https://yaml-multiline.info/
* https://stackoverflow.com/a/21699210

- jobs named on cmdline are not updated:

Make sure the job name is correct, or just issue an entire yml file without
individual job names.

Also be aware that jobs are only actually updated when anything changed.

- debian 9

For jenkins-job-builder to work on debian 9:

add 'testing' to /etc/apt/sources.list like

deb http://ftp.de.debian.org/debian/ testing main

then

sudo apt-get update
sudo apt-get -t testing install python-jenkins
sudo apt-get install jenkins-job-builder

and make sure to *not* pick the python3 versions
(or you'll need to add catching of HTTPError to jenkins/__init__.py in
'def maybe_add_crumb')

*Jenkins labels*

The build jobs are using labels to specify on which nodes the job should be run.
Please use the following labels

- osmocom-master-debian8: are nodes which can build osmocom-master and is a debian 8
- osmocom-master-debian9: are nodes which can build osmocom-master and is a debian 9
- osmocom-gerrit-debian8: are nodes which can build osmocom-gerrit and is a debian 8
- osmocom-gerrit-debian9: are nodes which can build osmocom-gerrit and is a debian 9