contrib/jenkins*: build and publish manuals

Add contrib/jenkins-build-manuals.sh, which clones or updates
osmo-gsm-manuals and builds the manuals. When the environment variable
PUBLISH=1 is set, it also uploads them.

Call jenkins-build-manuals.sh from jenkins-run.sh, without PUBLISH=1,
so the manuals get build-tested in the osmo-gsm-tester_gerrit job.

A new job master-osmo-gsm-tester will be added in the future, which
will run PUBLISH=1 jenkins-build-manuals.sh.

The jenkins-build-manuals.sh script does not use the osmo-ci.git
scripts for installing dependencies and cleaning up the workspace.
These scripts are not available on the node, which runs the
osmo-gsm-tester_gerrit job, and it is not trivial to add just them
(without building the osmo-ci Docker image etc.). The only dependency
is osmo-gsm-manuals, and it does not need to be compiled, so it seemed
to be the most maintainable solution to implement the clone/update and
clean up in a few lines of shell code instead.

Related: OS#3385
Change-Id: I4ebfe12a164f807b63bc897aff44db83fc0705bd
changes/13/12213/4
Oliver Smith 4 years ago
parent ffe1b08c46
commit 52e5797b3d
  1. 40
      contrib/jenkins-build-manuals.sh
  2. 1
      contrib/jenkins-make-check-and-run.sh

@ -0,0 +1,40 @@
#!/bin/sh -ex
# environment variables:
# * PUBLISH: upload manuals after building if set to "1"
base="$PWD"
export OSMO_GSM_MANUALS_DIR="$base/osmo-gsm-manuals"
# Sanity check
if ! [ -d "$base/doc/manuals" ]; then
echo "ERROR: this script needs to be executed from the top dir of osmo-gsm-tester.git."
exit 1
fi
# Clone/update osmo-gsm-manuals and wipe local modifications
if [ -d "$OSMO_GSM_MANUALS_DIR" ]; then
git -C "$OSMO_GSM_MANUALS_DIR" pull
else
git clone "https://git.osmocom.org/osmo-gsm-manuals" "$OSMO_GSM_MANUALS_DIR"
fi
git -C "$OSMO_GSM_MANUALS_DIR" checkout -f HEAD
# Copy manuals source to empty temp dir (so we can easily clean up afterwards)
temp="$base/_manuals_temp"
if [ -d "$temp" ]; then
rm -rf "$temp"
fi
cp -r "$base/doc/manuals" "$temp"
# Build the manuals
cd "$temp"
make
make check
# Publish
if [ "$PUBLISH" = "1" ]; then
make publish
fi
# Clean up
rm -r "$temp"

@ -8,6 +8,7 @@ test -x "$run_script"
cd osmo-gsm-tester
make deps
make check
./contrib/jenkins-build-manuals.sh
cd "$base"
PATH="$base/osmo-gsm-tester/src:$PATH" \

Loading…
Cancel
Save