Add a list of users that do not only get a notification mail when the
gerrit verification failed, but also on success.
Change-Id: I603b8a911c8f17aa726d9e3d5d644ad3262b42dd
Add a job that checks if the amount of connected builders to the OBS
server matches what we expect. This should prevent what we had today,
that it only was noticed by chance several days after all builders
failed to connect and the packages were outdated since then.
I'm not sure if there is a proper api to do this check, but I don't
expect the string we check for to change often so this should work fine.
Change-Id: I6e7c1f206551722d6bfe1631b9c1da8d34d85ba8
Wipe the workspace before running the job, so the _docker_playground
clone gets recreated (and e.g. doesn't have the old clone url).
Change-Id: I5626c4728ebd7f6b693484c7801963985832398d
Don't allocate a slot on one of the jenkins nodes for running the
pipeline. The pipeline job is lightweight, it just starts other jobs
and waits for their completion.
Without this patch we got into a situation where a lot of patches were
submitted to gerrit at the same time, pipelines were started for all of
them, taking up slots, and then all of the pipelines waiting until free
slots become available before starting the actual build jobs. Thus
blocking each other until I manually stopped them.
Related: OS#2385
Change-Id: I289fcf1431a91a38fc37270e6a2f43d744c79e4f
Allow running multiple gerrit-verification pipelines of the same project
at the same time to use the jenkins nodes more efficiently.
Note that the concurrent setting of the build jobs are not changed. Some
projects have this set to false, and for those, there will be no more
than one build job running at the same time. The build job gets started
from the pipeline, along with other jobs like lint and deb/rpm package
building.
Related: OS#2385
Change-Id: Ie2a19013e73d96a937e8f83c815c6a82cfe0768d
Run the linter again on osmo-ci. It used to run on osmo-ci.git with
gerrit-lint.yml before recent refactoring in
I5f1340248cd116c5fa5134eee3fae50baf7ef851. Adding it to
gerrit-verifications like this makes it run again, pipeline_lint: true
is the default.
Related: OS#2385
Change-Id: Ie6d8a99647846fb4008953b444bba642cbcf3b1e
Fix warnings when updating the job with Jenkins Job Builder:
WARNING:jenkins_jobs.modules.triggers:Gerrit Trigger property 'no-name-and-email' is deprecated
WARNING:jenkins_jobs.modules.triggers:Gerrit Trigger property 'trigger-for-unreviewed-patches' is not supported in this plugin version
Related: OS#2385
Change-Id: I6a0057738955bc2507cb5d8c4d48edf652c3529f
Build deb and rpm packages for each patch submitted to gerrit for the
projects in the list.
Example:
https://gerrit.osmocom.org/c/osmo-bsc-nat/+/29492
Related: OS#2385
Change-Id: I7ca8869c2e9f2e7c74a360933be12b5c2b47c2fc
Reduce mails by running gerrit-lint as part of the gerrit-verifications
pipeline.
Related: OS#2385
Change-Id: I5f1340248cd116c5fa5134eee3fae50baf7ef851
Prepare to unify the list of projects in jobs/gerrit-verifications.yml
and jobs/gerrit-lint.yml by allowing to skip the build for some
repositories (e.g. docker-playground is linted but we don't run a
contrib/jenkins.sh there).
Change-Id: Ie6264d44120798c0ecbcaf9c63d9b95f74ae9e37
Prepare to reduce the amount of comments sent to gerrit from jenkins and
resulting mails. Instead of triggering the jobs directly from gerrit,
trigger a pipeline job that calls the original job (now called
gerrit-{repos}-build) and will in future patches call all other gerrit
verification jobs too (linter, building deb/rpm packages).
Change-Id: Ica208a5177739655cdd493d461da146d440cd542
Add one new job for building source packages and sending them to
obs.osmocom.org. Trigger it from all master-* jobs.
I've also considered adding one job per existing master job that would
only update one package at a time (master-libosmocore-obs,
master-osmo-bsc-obs, ...). With some additional development effort it
should be possible, and it would make each individual master OBS job
faster. But given that with the current implementation it only takes
20s to 30s for *all* packages if there are no changes, as it compares
git remote HEAD with the version currently on OBS before starting to
clone repositories and building the source packages (similar to
Osmocom_OBS_latest_obs.osmocom.org), it didn't seem worth optimizing.
Set concurrent to false as the triggers from master-builds will likely
cause it to run multiple times in parallel otherwise.
Related: https://jenkins.osmocom.org/jenkins/view/OBS/job/Osmocom_OBS_master_obs.osmocom.org/
Related: https://obs.osmocom.org/project/show/osmocom:master
Related: OS#2385
Change-Id: I53a494f13f81ae837f2d362c54e1bdf13f121db3
Replace the legacy git.osmocom.org clone URLs with either gerrit or
gitea in most places. Besides not using legacy urls anymore, the
advantage of using gerrit directly is that we don't have a delay of 10
min to several hours on the repository.
Not replaced:
* ansible/roles/osmocom-workstation: not sure if still used, would need
a bit of a rewrite to use logic similar to osmo_git_clone_url().
Related: https://osmocom.org/projects/cellular-infrastructure/wiki/Git_infrastructure
Change-Id: I90409c9e7f4db4e1765647021625f9acfccaa78b
Instead of having two "wrappers:" sections where the second overwrites
the first one, combine them into one.
Fixes: ffbf40c ("jobs/gerrit-lint: add ssh credentials")
Change-Id: Iaa0603dab4aee4e99f196eff862d76e4e8b67af9
Extend the jobs to clone the trusted osmo-ci.git repository from which
we execute the linter next to the untrusted code from gerrit, and add a
parameter for the osmo-ci branch.
Change-Id: Ic4134e6755014b3e5fbf6d3225e49c0ca5b27f9b
Don't allow overriding cmd per repository anymore. This was used in the
gerrit-osmo-ci-lint job to run the linter from the checked out
osmo-ci.git repository (the one with the untrusted code submitted to
gerrit).
This would become problematic with a future patch that will attach the
ssh agent to the lint jobs (so jenkins can leave review comments over at
gerrit).
Change-Id: Iad23da08898205fafd1ae36256c8f7b6d7506d40
Make sure scripts/osmo-ci-docker-rebuild.sh runs at least once a day on
the jenkins nodes, so the docker images are less likely to expire due to
being unused. This was the reason for master-osmo-opencm3-projects and
gerrit-osmo_dia2gsup failing.
Related: https://osmocom.org/projects/osmocom-servers/wiki/Docker_cache_clean_up
Change-Id: If5c4b3cb87100ab6c44d717a17986a4f0c6570fe
I didn't receive mail notifications about failing
master-osmo-opencm3-projects jobs. It seems they are not getting
through on the gerrit-log mailing list, searching for jenkins gives no
results:
https://lists.osmocom.org/hyperkitty/search?mlist=gerrit-log%40lists.osmocom.org&q=jenkins
And it seems to be the wrong ML anyway, so change it to
jenkins-notifications.
Change-Id: I15a747411d928055c71603cd4475289a77c8e749
Drop _MIRROR variables, as both the testsuite packages and the packages
to test are now on downloads.osmocom.org. Previously these variables
were necessary as the testsuite packages were only on
download.opensuse.org (before we set up obs.osmocom.org, which publishes
packages to downloads.osmocom.org).
Change-Id: I34050da1e2444cf684ff8bd07673e3268b4dd497
Get the centos8 packages directly from the package repository again
(https://downloads.osmocom.org/packages/) instead of getting them from
the delayed obs-mirror dir (https://downloads.osmocom.org/obs-mirror/).
Use the packages generated from obs.osmocom.org for the testsuite too.
This reverts 526f1e12d3 and
I8201f34a0f9747eea78c358a626cc3981d7407c4 which set this up to work
around sporadically missing metadata files from download.opensuse.org.
Change-Id: Ic7920ad71a0cb6362883f8b9ed3dbc9bbb992988
In case one of the master-buils is segfaulting or has an error in the
testsuite, collect the relevant files and store them as artifacts.
It was asked in the related issue to do this only on error, however
while there's an option to archive only artifacts when a build is
successful, there is not an option to do it only on failure. So just do
it always, the testsuite.log file is typically just a few kb in size.
core files should only get generated on error.
Closes: OS#5642
Change-Id: I91d4b995b16c8e028a5dff19b0e0f09c01d8c8c6
git.osmocom.org is a mirror of gitea.osmocom.org, let's build from
the actual master repo, not from the (possibly slightly outdated) mirror
Change-Id: I12d090a9ee7fde09892567ada739826484a4a35b
* master-libosmo-pfcp is triggered directly by libosmocore, not
by master-libosmo-netif, nor master-libosmo-abis, so
** fix comment explaining the hierarchy.
* master-osmo-upf is triggered by master-libosmo-pfcp, so
** it should not be triggered directly by libosmocore.
Change-Id: Ie4a5cb47464e9abfc9d04e63e9e71619f33ffd42
Fixes: Icb75adec886cf1053b80c968fea59e597ed289a7
Remove reference to stretch (debian 9), as the jobs run on a newer
debian version now. Remove the reference altogether so we don't need to
update it here. The current version can be looked up in
docker-playground.git.
Change-Id: I06c74830b0f6fe0baed44c300f9e1023fb0522de
Harald requested that the OBS scripts should not stop if building one
specific source package fails, instead it should keep going and report
at the end a non-success exit code.
Given that the shell script code has historically grown and became hard
to maintain, I decided to rewrite the scripts for implementing this
feature. This rewrite solves additional problems:
* No full checkout of an OBS project like network:osmocom:latest
anymore, with lots of packages that won't get updated (e.g. the uhd
package has a uhd-images_3.14.1.1.tar.xz file that is 108 MB). With
the old code, developers had to wait minutes during the checkout
before the script reaches code that is currently being developed. Now
only single packages get checked out right before they get updated.
* No need to clone git repositories over and over. With the new code,
git repos only get cloned if needed (for latest it is not needed if
the remote git tag is the same as the version in OBS). During
development, the cloned git repositories are cached.
* Output from commands like "git tag -l" is not written to the log
unless they failed. This makes the log more readable, which is
especially important when a package fails to build, we keep going and
need to spot the build error in the middle of the log later on.
* No more duplicated code for nightly and latest scripts that worked
similar but had slight differences. Also the list of packages is not
duplicated for nightly and latest anymore; nightly uses all packages
and latest uses packages that have at least one git tag.
* Building source packages is decoupled from uploading them. A separate
script build_srcpkg.py can be used to just build the deb + rpm spec
source packages, without interacting with the OBS server.
* The scripts can optionally run in docker with a command-line switch,
and this is used by jenkins. This way we don't need to install
more dependencies on the host such as rebar3 which is now needed for
erlang/osmo_dia2gsup.
* Add erlang/osmo_dia2gsup and run its generate_build_dep.sh (SYS#6006)
I have done the new implementation in python to make use of argparse
and to be able to use try/except and print a trace when building one
package fails.
Example output:
* https://jenkins.osmocom.org/jenkins/job/Osmocom_OBS_nightly_obs.osmocom.org/48/console
* https://jenkins.osmocom.org/jenkins/job/Osmocom_OBS_latest_obs.osmocom.org/46/console
Change-Id: I45a555d05a9da808c0fe0145aae665f583cb80d9
Allow configuring a different git branch before starting the build. This
is especially useful to reproduce a failure that only happens when using
coverity tools during a build.
Change-Id: I5f7c615ff5af4bf1f34ccef62767b5ca71cd2d8d
Run the coverity/jenkins.sh from the osmo-ci.git repository that jenkins
checks out at the beginning of the build, instead of using a copy in ~/
that is updated whenever pushing to master. This makes it less
confusing, I configured the job to use a WIP branch and didn't realize
that it still used the code from master.
Change-Id: Ie992d71d2afec6982447b8fe3626c821a9e48d19
* no need to mention "(jenkins-job-builder)" in the display-name
* set mail to jenkins-notifications ML like most other jobs
Change-Id: I0284dd7354157e057903f53cde149ce652e76550
Revert 3038c19155, which adds a second
osmocom-coverity-deps job that apparently was never deployed (or was
deployed and then deleted). The mentioned curl dependency shouldn't go
here either.
Change-Id: I5d4709c0019ef4bae6ccbd11c28eeb23d75692c1
No need to mirror these images if we don't use them anymore.
Remove debian 8 and 9, and ubuntu zesty. The latter is the codename for
ubuntu 17.04, which is a non-LTS and was unsupported since 2018-01-13.
Related: OS#5601
Change-Id: If1c198038b0fd5faf0763172447962969448940e
Move the long shell command into a jenkins.sh in docker-playground, and
move the osmocom-release-tarballs.sh script there as well. This makes it
easier to test the script, and only patching one repository is needed
from now on when changing to a newer debian version.
Depends: docker-playground I4cf66097f508c029f688ec8af1cab2238d42f84f
Change-Id: I15f6c08b807f1462f91e95b624cdc1aad0592dd6
These two projects have been released recently as part of Osmocom CNI
202206. Let's enable testing them since version in latest is good enough
for testing.
Change-Id: I1587e8400eff2d8b1ec26ab2fff1fbfa772fe8f8
Split the OBS related jenkins jobs into two, one that uploads to the
new obs.osmocom.org and one that uploads to build.opensuse.org.
Set an alias for "osc" that sets the right server, and set the
expand_aliases shopt so the bash scripts that source common-obs.sh will
not ignore the alias.
Related: OS#5557
Change-Id: Ib271e16e93ebc58ed1ecb0ea881e1f1370e40928
In previous patch Id114d55edc2ba92f7851243ab7df51db332079c4, only the
OSMOCOM_REPO_MIRROR should have been overridden. However
OSMOCOM_REPO_TESTSUITE_MIRROR defaults to OSMOCOM_REPO_MIRROR, so
explicitly set it in this patch to the opensuse mirror.
This fixes problems while building debian-bullseye-titan caused by the
different directory structure of both mirrors, and OSMOCOM_REPO_PATH
intentionally not taken into account while building the testsuite
docker image.
This is part 2/2 of fixing TTCN3-centos-bts-test, which has been failing
since OSMOCOM_REPO_MIRROR was changed in osmo-ci.git. Part 1 is in
docker-playground I78e0445a1b82e5cd72ecaa86e8fe25516b19f485.
Change-Id: I8201f34a0f9747eea78c358a626cc3981d7407c4
Lately we've been seeing a lot of build failures from the TTCN3-centos
jobs running against the nightly repository. It seems that the mirror we
get redirected to isn't syncing properly. Use the Osmocom mirror
instead.
Fix for:
Nightly packages of the Osmocom project (CentOS 190 kB/s | 1.7 kB 00:00
Nightly packages of the Osmocom project (CentOS 1.8 kB/s | 634 B 00:00
[91mErrors during downloading metadata for repository 'network_osmocom_nightly':
- Status code: 404 for 7062058d3e234003a6c3595331cf3fc100-filelists.xml.gz (IP: 134.76.12.6)
- Status code: 404 for ad91db8cb719947d9abc971661c588e8c6-primary.xml.gz (IP: 134.76.12.6)
[0m[91mError: Failed to download metadata for repo 'network_osmocom_nightly': Yum repo downloading error: Downloading error(s): repodata/ad91db8cb7273beaefca0e473d9c4dd12d12786819947d9abc971661c588e8c6-primary.xml.gz - Cannot download, all mirrors were already tried without success; repodata/7062058d3e5395b4b02570496e41e19e8fd306f5234003a6c3595331cf3fc100-filelists.xml.gz - Cannot download, all mirrors were already tried without success
Change-Id: Id114d55edc2ba92f7851243ab7df51db332079c4
The raspberries have been upgraded to the debian 11 based raspberry pi
OS. Adjust the name to avoid confusion.
Related: OS#5453
Change-Id: I0b2e08b11d83243e81b2bb4412ffcc9bc59821ff
Now that master-dahdi-linux-master is passing, we should verify any
future patches also against master.
Change-Id: I86cfd7e868dcaeeb6c6dbc6f08046a70b4582cc7
stretch has too old gcc which doesn't support -Wno-format-truncation
which is used in dahdi-linux since 2018.
Related: OS#5407
Change-Id: I4fca722e67b2c649dea4f9799d277cd568bcc493
Fix sporadic errors related to the clean up script running while images
being built:
failed to get digest sha256:8ea2ba9a1...
Closes: OS#5447
Change-Id: If722fddce8de65a1ae012a46d6a202f430e0c69d
Now that mgw support is in osmo-hnbgw master and docker/ttcn3 testsuite
is working we can enable the test again.
Change-Id: I4c7d1ee876e90d52827b2d8cc57342298dd44061
Related: OS#5152
Add a configuration for the job to the yml file. It looks like this job
was created manually, or the configuration was just not pushed to
gerrit.
This makes e-mail notifications consistent and fixes missing colors in
build output.
Change-Id: I14995dea0a0d223b78e20b49953d5c814c1ad4a1
Build the testsuites in the same docker container during gerrit
verification, as it will be the case when building and running the
testsuites in the various ttcn3-* jenkins jobs.
This avoids the need to install eclipse-titan and libfftranscode on the
jenkins nodes.
Related: OS#5452
Change-Id: I6a667255bb55a945b4c6279d711142aa252c6996
Let's use newer debian to avoid problems with older erlang. Furthermore,
the new image builds rebar3 to avoid issues with unmatching erlang
versions.
Change-Id: I7b1956c515daccf6ab1ff87031c6fec649cadb4b
We only had gerrit build verification for pysim so far, but no 'master'
job that periodically builds/tests master (and publishes the manual).
As a reult, the pySim manual was still the original version from April
2021, while the code has of course progressed quite a bit in git since.
Change-Id: I4dce05cdb5f2c574256378d5fb66cff1c329c141
Closes: OS#5271
We need osmo-ci in those nodes in order for the docker old images to be
cleaned through cron entry installed by ansible docker role, which uses
/home/jenkins/osmo-ci/scripts/docker-cleanup.sh.
Related: OS#5441
Change-Id: Ieb6db0b24dce6099cfa24871a957471ca2c8bcee
Add gerrit verifications for the out-of-tree dahdi-linux kernel module.
Put this in a separate file (not gerrit-verifications.yml), because:
* not only gerrit git repo gets cloned, but also linux.git, and caching
needs to be done properly for it
* so we can have one separate job per linux version that gets tested
Test v4.19 and v5.10 for now, as suggested in the issue.
Related: OS#5407
Depends: docker-playground Id72d19ad08681cd7cb3194de2226292f19e96df5
Change-Id: I65c7663a6b8045796536a727e4adf5554f16b2a9
Follow up on the change of using almalinux instead of centos8 in
docker-playground, with providing the almalinux base images in the
Osmocom registry.
Related: SYS#5818
Related: docker-playground I30e1a773b901b1d2187214445116c7f2aecc4e36
Change-Id: I93a8892da628b8d2f9cbb2a6453e8ab3153a9c4a
Enable the linter again, as we decided to use a repo-specific checkpatch
config in these.
This reverts commit 2c6aa82c9a.
Related: OS#5399
Change-Id: Ib79a20658bfae64d9b718e53e6a9393708a4e694
For some reason (jenkins upgrade?), output is not colored anymore.
Explicitly enable the ansi color wrapper in the jjb configs, where we
have such colors in the output.
Change-Id: I2d3faaf608ae9d12573f5c0f740ff7ee4b33358e
The real target was not osmo-iuh itself but osmo-hnbgw. Since osmo-hnbgw
is inits own repository now, let's rename it.
Change-Id: I72e93683ea355cf0886f08a3f31568f58ff42473
This image used to be pushed to the sysmocom registry, before the
osmocom one existed. Let's make it available in the osmocom one now that
we have it instead.
The new job triggers upon conclusion of the
registry-rebuild-upload-titan job, since anyway the ttcn3-bts-tests is
based on that image and hence requires it to be built prior to it.
Related: SYS#5765
Change-Id: I65e4e5a9e539de5bfd881e08d7c5842f2266ecee
It seems that TTCN3-centos-remsim-test was disabled manually via the web
UI and only got enabled recently after rolling out unrelated changes in
jobs/ttcn3-testsuites.yml. The tests do not run properly with the centos
version and it seems that nobody is using it, so disable them again for
now.
Change-Id: I4885333d63944af3510fdf0519233989808944ff
Import the existing (non jenkins-job-builder) job with
jenkins-job-wrecker. Change it to fetch the git repository, add missing
mkdir so it works with a fresh workspace too.
Fixes: SYS#5738
Change-Id: I19d18b24a6ae5948aeaf7c46083748c70cdb3b7b
Now that we made a new release including the new .spec.in files, from
which the rpms are built, we have the rpms in the repository and can
enable the repo install test for latest.
Change-Id: I5da2b895d636b348e5aa0539a23fe4d99e8644ae
Let's include the 'protocol' part itno the git_base_url variable, so it
actually becomes an URL, not just a hostname-with-path-prefix.
This way we can keep using git:// for osmocom and use https:// for
github and sysmocom.
Change-Id: I7befd1dd1445e0aa4d42434dbc8e001f904ae196
Uploading to network:osmocom:* should only be done when these scripts
are running in the Osmocom jenkins. Remove the default and require users
of the script to explicitly set PROJ.
Related: SYS#5370
Change-Id: If49ce217e77716b63dfde9139e869672a54b66a2
We should do like the various contrib/jenkins.sh scripts and
bring our own known_hosts file to deploy to ftp.osmocom.org.
This fixes deploying after merging If0d57ef9edc4d6b3fdf435e44573a15d64245b6a
recently.
Change-Id: Ia598739f820c8b00c33382afbbe88bf2638241dc
We should use service-aliases and not the primary host name, as
that makes migration between machines hard.
Change-Id: If0d57ef9edc4d6b3fdf435e44573a15d64245b6a
The latest tagged libosmocore misses several important features
and it is currently not economic to maintain a test suite for
the older NS dialect.
Change-Id: I3c87ec54c86ecbfe0c358178b4d8dafd613db584
Build debian-stretch-obs-latest instead of debian-stretch-build, before
building debian-stretch-build-dist.
Depends: docker-playground I2cf6ed732e55b8f0e63bd8fc040749bd16676d0f
Change-Id: I4189ab1bf483f0a31ffdb35af0d42fe2e9a72a90
Don't wipe the workspace of kernel tests. Cloning the kernel sources
takes a great amount of time and traffic, so we want to keep them
around.
Change-Id: Ifbf6ea127011d8c9fc5c08b584d99ea0220c3e1a
Build both of them in docker, like most other projects.
Depends: docker-playground Ieec31fd6a2034c4430be81afd1d370816cd577d5
Related: OS#5055
Change-Id: Ifc11730192b852d3760a31a561efc61a1a853674
Use the new label that matches all three rpi4 nodes in master-builds and
gerrit-verifications (so the builds can run on any of them). Use the
names of the three nodes in update-osmo-*-on-slaves, so all of them get
updated.
Related: https://jenkins.osmocom.org/jenkins/label/rpi4-raspbian10/
Related: OS#5055
Change-Id: I5b2af801baeb510e7784d6bcd7cabfda4962af0c
Here, the job names are not the same as the directory names of
docker-playground.git
Related: OS#3208
Change-Id: Idbcb7267ce38cbdc2df5631df404f908487f827b
Change the description of the job, to make it easier to use for somebody
not familiar with the Osmocom stack / the testsuites. Move the BRANCH
parameter to the bottom, as it is not relevant for kernel developers who
want to test their kernel, and adjust the description.
Related: OS#3208
Change-Id: I0968ae716c8e3f32db6f589b28d6066d95ad85ea
Let the user choose whether to run against osmo-ggsn latest or master.
I chose the name "OSMOCOM_VERSION" for the variable to make this easier
to use for people not familiar with the Osmocom stack / the test
infrastructure, as suggested in the related issue.
Related: OS#3208
Change-Id: Ifaf8ed6502b469ade670c3f436670480d27becd6
Add new nightly jobs, as requested in OS#3208:
- ttcn3-ggsn-test-kernel-latest-torvalds
- ttcn3-ggsn-test-kernel-latest-net-next
Note that they are in ttcn3-testsuites.yml and not
testsuites-kernel-git.yml, because the KERNEL_URL etc. parameters are
not configurable. These new jobs are supposed to run every night with
the same hardcoded git repositories, the other job from
testsuites-kernel-git.yml is for manual runs with a freely configurable
kernel URL.
Depends: docker-playground Iaef87c3418b8e6f1e427b2abd9d40e9e28dc63e9
Related: OS#3208
Change-Id: I6918b953b64b0d81805fd02b1a8469a8db20f938
Move ttcn3-ggsn-test-kernel-git into its own file, so the parameters
that are only relevant for cloning a kernel from git, do not show up in
all other TTCN-3 jenkins jobs.
Related: OS#3208
Change-Id: Iafbe6139db47c2918dc1fd7c3bacf38da326d9c8
As decided in the meeting, disable jobs in the config instead of
manually disabling them in the web UI.
Change-Id: I11e9504cace39d7377e993537c6746fe154b3f12
Make it possible to run the jenkins job with a different kernel
repository, by exposing KERNEL_URL, KERNEL_REMOTE_NAME and
KERNEL_BRANCH.
Related: OS#3208
Change-Id: I5d4202a67a24d9c15a5b211fa29ce9d5b5a9d9c1
Change the name of the job to ttcn3-ggsn-test-kernel-git. A follow-up
patch will add parameters to the jenkins job to specify a different
repository than net-next, therefore the generic name makes more sense.
Related: OS#3208
Change-Id: I409f49f88f0a75c782dd3c90c5051e8287644138
Run osmo-ggsn ttcn3 tests against the gtp kernel module from the debian
kernel and from HEAD of the linux netdev/net-next git repository.
Depends: docker-playground I1f337af1e2de6db05b22636bc31a535404235559
Related: OS#3208
Change-Id: I4c496af78820d95549da22c1271bafe911f7eefb
Move 'cd' and './jenkins.sh' commands towards the end, so they are not
repeated in the case block of each pattern. This is in preparation for
the ggsn kernel mod test, which will need new patterns.
Related: OS#3208
Change-Id: I0fac24b961b1abb09317144ec2f65d4e21eb70c2
Prepare for the ggsn kernel module test, where we don't want to wipe the
workspace with the cloned linux git tree.
Related: OS#3208
Change-Id: Ic5843513c376d2b78be8ab90b21a747d31a827f1
Trigger registry-rebuild-upload-titan on changes in
osmo-ttcn3-hacks.git. Write registry-triggers.yml with a job template,
so we could add more triggers from git repos -> registry easily if
needed in the future.
Related: OS#5017
Change-Id: Ib6a27be6351ce821c7023a1f75a82b1ade2ffa49
Add the slave axis again, so the jobs aren't stuck forever. I had
assumed that without the axis, it would run on any node, but that's not
how it works. Add a label for this job, with several nodes attached,
like we do it for TTCN-3, master-builds, gerrit-verifications etc.
Related: https://jenkins.osmocom.org/jenkins/label/repo-install-test/
Related: OS#4567
Fixes: fcf669 ("repo-install-test: run on all build slaves again")
Change-Id: I276ab47f76a0f4db542ca99825ebb019236b4d27
It was not possible to reproduce the weird rpm errors on
admin2-deb9build, which had lead to limiting the build slaves to
build2-deb9build-ansible. Enable building on all again.
Closes: OS#4567
Change-Id: I82ef1f0c581de8ee826adedd9ecde6b4adaa36ba
Give OBS more time to build the repository, before verifying that we can
install all packages from the repository. Apparently, OBS publishes the
repository in WIP state, before all packages for a distribution have
been built.
This leads to problems in the "nightly" and "next" repositories. In
contrary to "latest", we do not bump soname versions when doing ABI
changes, so we require the user to have all installed Osmocom packages
built from the same timestamp. With recent changes in the OBS scripts,
we enforce this by having all packages built from the same timestamp
depend on the exact version of a dummy package with that timestamp as
version.
The repo-install-test installs all packages from the binary repository,
and so it fails, as it should, if the repository is in an inconsistent
state with some packages built today and some packages built yesterday.
Related: OS#4733
Change-Id: I8df9b449d6213b5dca6fd9bf5c06b5c96d468f66
docker_run was duplicated for osmo-e1-hardware and no2bootloader, so the
'-e PATH' line could be removed from the global docker_run. It was
overriding the PATH, which then did not contain the path to the compiler
toolchain anymore.
This workaround is not needed anymore since de5aa17d6 ('jobs: don't
overwrite PATH in "docker run"').
Related: OS#4911
Change-Id: I97a4add17d9fa1bd28ab0ceb054b9a8d948b6f86
Use new location inside / outside docker, where the repository was
cloned already. So it does not need to be cloned during the job.
Roll out: make sure that the docker images are already built! (or let me
merge it)
Related: OS#4912
Depends: docker-playground Id402e0ea372b5ca8a6c8f6f5beb190544c888207
Change-Id: Ibe91a613162687589e006cba99193606fb8a3eb9
Add the variable to projects that don't use docker at all or overwrite
docker_run instead of using the global variable that has
OSMO_GSM_MANUALS_DIR defined.
Related: OS#4912
Change-Id: I65102655b4b3e907a0b0de8026f8f9af76281f90
Don't mount $HOME/bin to /build_bin, and don't overwrite PATH to include
/build_bin anymore. This isn't needed because the scripts are installed
to /usr/local/bin inside the docker images now.
Depends: docker-playground I0820f13cd740f7d4a8999d279cef6ae293a67d81
Related: OS#4911
Change-Id: I45bd7ea56849dab839a98cfd52806f7cd288094e
Save time by only cloning the repository, and not running autoreconf
-fi, ./configure, make and make install. Especially the tests during
make took up significant time, that slowed every project depending on
osmo-gsm-manuals down while being built through master-builds or
gerrit-verifications jobs. Set OSMO_GSM_MANUALS_DIR to the clone
location.
This is an interim measure, I'll submit more patches soon that remove
the 'osmo-build-dep.sh osmo-gsm-manuals' calls from all projects.
Change-Id: I5238cf3f93ded97ed2b44d27868123a646e122dc
Related: OS#4912
Gerrit verification jobs sometimes hang (usually during the VTY tests).
At some point we should just time out, default is 30 minutes
Change-Id: I6fc6ee976f2d88efdab1582a418d1adcd384c850
This will rune once per week and make sure that registry.osmocom.org
has a fpga-build container that the buld slaves can use.
Change-Id: Ie700d7c6e3c5e794edd81c3acc4b689e05d6864d
We use centos8 instead of centos in all docker-playground.git setups and
the infrastructure there expects that kind of naming.
Related: OS#4888
Change-Id: Idfbb2c4fc1ca10741406c8ab8930dabe8ce632ee
we cannot even create new slaves as lxc-create doesn't support debian
jessie anymore. Let's focus on Debian 9 + Debian 10
Change-Id: I2fddd460f7d1db755cc9b732b2be80494d26e091
We actually do the verification inside a (debian 9) docker container anyway,
so there's no need to run those on the old debian8 slaves.
Change-Id: I2168bd2f0e6221518ece111e29dc604c33eaca6a
Since Idba84164b90e3d183a20b5eb69cbfe15745e447c, we started to
generate separate PDFs for different osmo-bts-variants, so
let's enable them all. Otherwise only osmo-bts-{virtual,sysmo}
PDFs are generated and uploaded to the server.
Change-Id: I517be2d475f57026dab7f001d2298cf1a1aa2c7c
Related: SYS#4937
This will make the Dockerfiles from docker-playground.git
use registry.osmocom.org rather than the public docker.io for base
distribution images like debian:stretch or the like.
This will avoid any strange timeout/EOF problems while doing
docker build --pull in our test jobs.
Change-Id: If4275cf3c8a5b70a67d742950a35ae8ead59a52e
Closes: OS#4839
Before this patch, only the debian+master jobs were spread around
several hours, while debian+latest and centos+nightly were all triggered
at midnight.
Let's instead run all flavours of teh same test (debian+nightly/latest,
centos) around same time but not concurrently by marking blocking one
each other so that they are run one after the other. Then, each group is
separated by a given time spreading the load over the night + morning.
This also means we no longer start tests at 00:00, which means docker
images will use software from the day after, since the nightly
repositories are built around 01:00.
Related: SYS#5121
Change-Id: Ib1f374974444cdd5d829c4e57153137ecd9149f1
There was a directry refactoring a few weeks ago in osmo-gsm-tester and
this path was not updated correctly.
Change-Id: I580cd9d4a602b3ed1839fb0990ac3816c5e42cbe
Rename osmocom-debian-install.yml to repo-install-test.yml to get debian
out of the name. Extend it with a new distro parameter and update the
description. Adjust the shell section to run the script from its new
location (in osmo-ci.git, not docker-playground.git). Turn it into a
matrix job, so we can have two parameters (distro, feed) for each job.
Related: OS#4563
Change-Id: I777098f19d75f7efbd68b837ccdcd83309429c39
Since osmo-gsm-tester.git Change-Id Ieca65b71b543c44cfcec8e83efd0fe053c432e55,
the -c parameter holds the config file and not the directory where it is contained.
Change-Id: I9aca57c4dd3180367eb17ec92177b90a9c411a6a
As of osmo-gsm-tester.git Change-Id
I7eb69f870d0dcb5906d45ae067d6bed1aabf5862, jenkins-run.sh script uses
the sysmocom value by default, so let's avoid setting it to simplify
stuff.
Change-Id: I8edfb93d53376930f60e0bd8d36a82ec6c11ed85
Since osmo-gsm-tester.git I364e0859c0851b9167907a4d948b659a0f6a19fb the
example/ directory has been renamed to sysmocom/
Change-Id: I4c7516d2eb9636d37391a81dc9d484c0c04d7191
Let's use the osmo-gsm-tester docker image based on the
debian-stretch-jenkins instead of the later directly, since the former
has all osmo-gsm-tester required dependencies.
Change-Id: I256eeed82eef0969d93dc015e043b0417f56f52c