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
This commit is contained in:
parent
ffe1b08c46
commit
52e5797b3d
|
@ -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
|
cd osmo-gsm-tester
|
||||||
make deps
|
make deps
|
||||||
make check
|
make check
|
||||||
|
./contrib/jenkins-build-manuals.sh
|
||||||
cd "$base"
|
cd "$base"
|
||||||
|
|
||||||
PATH="$base/osmo-gsm-tester/src:$PATH" \
|
PATH="$base/osmo-gsm-tester/src:$PATH" \
|
||||||
|
|
Loading…
Reference in New Issue