We no longer run the archive on the same machine/lxc as the normal
downloads server
Change-Id: Id490690394db9eb773f945ad4d7e65fe7fd5e17a
Related: OS#6257
As we're moving the archive to a machine with sufficient storage,
let's extend the time we keep an archive of nightly builds from
one month to two years.
Change-Id: Ic8529ee5679f15c4e4940a5f095374605c2e5c79
Related: OS#6257
Rewrite the osmocom-release-manuals script (previous version is in
docker-playground Ic35a28a386170b85d32aab8f2bd33e48e6d45392):
* Instead of using a separate docker container for this, that also lists
all dependencies for all packages (as needed to pass ./configure), use
debian-bookworm-build and install missing packages at time of
generating the tarballs with "apt-get build-dep". Missing dependencies
are typically other Osmocom libraries.
* This allows removing the debian 11 based release-tarball-build-dist
container. As the script doesn't depend on a separate docker container
anymore, move it to osmo-ci.git.
* Make it similar to scripts/manuals/publish-manuals-for-tags.sh, so it
is easier to maintain both.
Related: OS#6057
Change-Id: I9f8b671b9780da500637a64fc4dbc72b450f9d11
It seems that some users are running nightly builds in production on
EOL Debian 10, which we never imagined and hence didn't keep an archive
of those builds :/
Change-Id: I40c628e032e2c7ce8447657319a7c1206933c163
We typically keep nightly builds for the latest version of each
distribution. That is correct for CentOS and Debian, but we forgot
to update Ubuntu from 21.04 to 22.04 it seems :(
Change-Id: Ic82dfc7e8c4f4a362f7d05b5bc2069d42a0bcdb2
Ubuntu 22.04 is very much a stable/maintained distribution, so we
should keep an archive of "latest" builds for it.
Change-Id: I54988915ec4bcf2ebb1e5cd23ceb049789c56bca
Make sure that the recent change from git.osmocom.org ->
gerrit.osmocom.org for git clone urls is applied to the existing clones
as well.
Change-Id: I3d9c193bf353ecff0ee8bb4c507de59139fc0925
After cloning a repository, go back into the workspace directory. Run
scripts/osmo-ci-docker-rebuild.sh from there, instead of the version
cloned into ~/osmo-ci. This is the behavior one would expect.
Without this patch, a _docker_playground temporary git clone gets
created/used in ~/osmo-ci, although it would make much more sense to
have it in the workspace dir.
Change-Id: I998c0d47ee5ce6f9978d1a6c9e195d5ce40e4e85
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
Change the rsync command to use the packages from
/downloads/home/packages/web-files/osmocom: on the same server as
source, which is where obs.osmocom.org is pushing the packages.
Remove xUbuntu_19.04 from the directories to sync, as we don't build for
it anymore. It's not an LTS release (unlike 18.04, 20.04) and it's EOL.
Related: OS#5557
Change-Id: Id6be69530a7aa65b0cf3866fc7e65af79c9d9d45
There's a .~tmp~ file on the remote that currently causes the rsync
command to fail. Ignore all files starting with a dot.
Fix for:
rsync: [sender] opendir "/opensuse/repositories/network:/osmocom:/nightly/Raspbian_11/.~tmp~" (in opensuse-full-really-everything-including-repositories) failed: Permission denied (13)
It's time to update the script to sync the obs.osmocom.org packages
instead of the ones from build.opensuse.org, I'll do that in the next
patch. Nevertheless, I think it makes sense to add this exclude argument
in case OBS (our instance) also creates temporary files like this.
Change-Id: Iacee2ea4acada60d8de960592fb828911a55781e
Debian / Raspbian 10 are getting a bit old, and our test suites also
all have shifted to 11 by now, so let's rather keep a nightly archive of
11 as opposed to 10
Change-Id: Id08acf82d9c959553684d0d95b31a8c0379115a6
Before this commit, the obs-mirror.log was overwritten every night,
meaning we have no history of rsync log files.
Change-Id: I26392ed8615b9f4a6aa23e92b82ad9aff01eac4b
Sync files into a temporary directory first, and only rename the temp
dir to the final dir name if rsync succeeds. Otherwise, exit with error.
Related: SYS#5764
Change-Id: Icfefd8e4bae1fd6c73445c7427aaa842c0391b2d
Import scripts from OS#4862 to have them properly versioned. We use this
to replicate Osmocom related packages from OBS to:
https://download.osmocom.org/obs-mirror
Put it in contrib/, because it doesn't need to get installed to the
jenkins nodes (as it would happen with everything in scripts/).
Related: OS#4862
Change-Id: I3f47cddbcee6c9b85fde77a039dcd5b54dd89f2d
Make osmo-gsm-manuals.git available as ~/osmo-gsm-manuals, so it can be
used by osmo-trx and osmo-bts (the only two projects building manuals,
which are not running in docker as of writing) instead of cloning the
repository in their contrib/jenkins.sh.
A similar change to clone osmo-gsm-manuals in the debian-stretch-jenkins
image used by all other jobs that build manuals, is done in
docker-playground 7e4c8c6f1f798b9b8e57af97131ce3759528e0de.
osmo-ci's contrib/jenkins.sh is called by the update-osmo-ci-on-slaves
job.
Related: OS#4912
Change-Id: I742fd929e39ca32d6034a30af75b6c8e5b47b233
Instead of building "osmocom:deb9_amd64" from this repository, build
"$USER/debian-stretch-jenkins" from docker-playground.git (same
Dockerfile). Adjust all jobs to use the new image name.
Add a new "update-osmo-ci-on-slaves-dp" jenkins job, which triggers
the existing "update-osmo-ci-on-slaves" job whenever
docker-playground.git changes.
Replace docker/rebuild_osmocom_jenkins_image.sh with
scripts/osmo-ci-docker-rebuild.sh, so we can get rid of the docker dir.
I thought about dropping the script completely, and directly writing the
two lines into contrib/jenkins.sh. But I kept the extra script for
convenience, when testing locally.
Related: OS#4345
Depends: docker-playground I125ae8a6bcabbd1f485028c79b0abacda0622c3a
Change-Id: I30a61aebcadef5536e74edd35e1c75ef77a2da9f
We're not calling this script on the update-osmo-ci-on-slaves job yet. To move
over to calling this script, apply some edits we made on the jenkins UI in the
meantime.
Change-Id: I54d3f56a89934c1c7b0e445b5c447c91bf94d579
Instead of modifying the job on Jenkins, let's do it like in our
other projects. Create the diretcory if it doesn't exist and use
git pull origin for the Debian9 system.
Change-Id: I0ecdc02e3271fe09980f370167277370c599fcfa