mirror of https://gerrit.osmocom.org/osmo-ci
jobs/osmocom-api: add jenkins-job-builder config
Add a jenkins-job-builder configuration for the existing Osmocom_API job and refactor it to not use the deprecated multi-scm plugin. Also update the git clone urls. Related: OS#5763 Change-Id: Ia518979307ce633ccd2c431a8e8eea866da2a50d
This commit is contained in:
parent
f560ce08ab
commit
c4924d2657
|
@ -0,0 +1,89 @@
|
||||||
|
- job:
|
||||||
|
concurrent: false
|
||||||
|
description: This job builds the doxygen API documentation for latest libosmo*
|
||||||
|
and uploads it to <a href="https://downloads.osmocom.org/api/latest/"
|
||||||
|
>https://downloads.osmocom.org/api/latest/</a>
|
||||||
|
name: Osmocom_API
|
||||||
|
node: osmocom-master-debian9
|
||||||
|
project-type: freestyle
|
||||||
|
publishers:
|
||||||
|
- email:
|
||||||
|
notify-every-unstable-build: true
|
||||||
|
recipients: jenkins-notifications@lists.osmocom.org
|
||||||
|
triggers:
|
||||||
|
- timed: "H H * * *"
|
||||||
|
wrappers:
|
||||||
|
- ssh-agent-credentials:
|
||||||
|
users:
|
||||||
|
- api@osmocom
|
||||||
|
parameters:
|
||||||
|
- string:
|
||||||
|
name: BRANCH
|
||||||
|
description: osmo-ci.git branch
|
||||||
|
default: 'master'
|
||||||
|
scm:
|
||||||
|
- git:
|
||||||
|
branches:
|
||||||
|
- '$BRANCH'
|
||||||
|
url: https://gerrit.osmocom.org/osmo-ci
|
||||||
|
git-config-name: 'Jenkins Builder'
|
||||||
|
git-config-email: 'jenkins@osmocom.org'
|
||||||
|
wipe-workspace: true
|
||||||
|
builders:
|
||||||
|
- shell: |
|
||||||
|
# Repositories for which doxygen documentation will be generated and
|
||||||
|
# uploaded, also dependencies which need to be built
|
||||||
|
repos_api="
|
||||||
|
libosmocore
|
||||||
|
libosmo-abis
|
||||||
|
libosmo-dsp
|
||||||
|
libosmo-netif
|
||||||
|
libosmo-sccp
|
||||||
|
osmo-gmr"
|
||||||
|
|
||||||
|
# Source common.sh from osmo-ci.git for osmo_git_clone_url()
|
||||||
|
. scripts/common.sh
|
||||||
|
|
||||||
|
# Put git repos and install data in a subdir, so it isn't in the root
|
||||||
|
# of the cloned osmo-ci.git repository
|
||||||
|
mkdir _osmocom_api
|
||||||
|
cd _osmocom_api
|
||||||
|
|
||||||
|
# Prepare pkgconfig path
|
||||||
|
export PKG_CONFIG_PATH=$PWD/install/lib/pkgconfig
|
||||||
|
mkdir -p "$PKG_CONFIG_PATH"
|
||||||
|
|
||||||
|
# Prepare known_hosts
|
||||||
|
cat > known_hosts <<EOF
|
||||||
|
[ftp.osmocom.org]:48 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDgQ9HntlpWNmh953a2Gc8NysKE4orOatVT1wQkyzhARnfYUerRuwyNr1GqMyBKdSI9amYVBXJIOUFcpV81niA7zQRUs66bpIMkE9/rHxBd81SkorEPOIS84W4vm3SZtuNqa+fADcqe88Hcb0ZdTzjKILuwi19gzrQyME2knHY71EOETe9Yow5RD2hTIpB5ecNxI0LUKDq+Ii8HfBvndPBIr0BWYDugckQ3Bocf+yn/tn2/GZieFEyFpBGF/MnLbAAfUKIdeyFRX7ufaiWWz5yKAfEhtziqdAGZaXNaLG6gkpy3EixOAy6ZXuTAk3b3Y0FUmDjhOHllbPmTOcKMry9
|
||||||
|
[ftp.osmocom.org]:48 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPdWn1kEousXuKsZ+qJEZTt/NSeASxCrUfNDW3LWtH+d8Ust7ZuKp/vuyG+5pe5pwpPOgFu7TjN+0lVjYJVXH54=
|
||||||
|
[ftp.osmocom.org]:48 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK8iivY70EiR5NiGChV39gRLjNpC8lvu1ZdHtdMw2zuX
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Clone and build the repositories
|
||||||
|
for i in $repos_api; do
|
||||||
|
git clone "$(osmo_git_clone_url "$i")"
|
||||||
|
cd "$i"
|
||||||
|
autoreconf -fi
|
||||||
|
./configure \
|
||||||
|
--prefix=$PWD/../install \
|
||||||
|
--with-systemdsystemunitdir=no
|
||||||
|
make $PARALLEL_MAKE install
|
||||||
|
cd ..
|
||||||
|
done
|
||||||
|
|
||||||
|
# Upload all docs
|
||||||
|
for i in $repos_api; do
|
||||||
|
if ! [ -d "$i"/doc ]; then
|
||||||
|
# e.g. libosmo-abis is built as dependency for others but doesn't
|
||||||
|
# have its own doxygen documentation as of writing
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
rsync \
|
||||||
|
-avz \
|
||||||
|
--delete \
|
||||||
|
-e "ssh -o 'UserKnownHostsFile=known_hosts' -p 48" \
|
||||||
|
./"$i"/doc/ \
|
||||||
|
api@ftp.osmocom.org:web-files/latest/"$i"/
|
||||||
|
done
|
Loading…
Reference in New Issue