blob: 026ab2f3907b5a0c9178a0ff8e99e4985058a7ac [file] [log] [blame]
#!/bin/bash -ex
# publish-docs.sh
#
# This sccript is used to publish the VPP User documents to
# the FD.io Site.
#
# Arguments:
#
# $1: The main site repo user name
# $2: The release branch name for example 1908, 1904 etc.
# Some basic checks
if [ ! -d "docs" ]; then
echo "This script is meant to be run from the root directory."
exit 1;
fi
if [ "$#" -ne 2 ]; then
echo "Please specify the site username and branch."
exit 1;
fi
# Get the workspace root
WS_ROOT=$PWD
# Get the VPP branch and username
SITE_USERNAME=$1
VPP_BRANCH=$2
#Build the docs
make docs-clean
make docs-venv
make docs
# Clone the site repo
rm -fr site
rm -fr sphinx_env
git clone ssh://git@github.com/$SITE_USERNAME/site
cd site
git submodule update --init --recursive
git remote add upstream ssh://git@github.com/FDio/site
git remote -v
git fetch upstream
git merge -m "Publish the Docs" upstream/master
# Get the version
VERSION=`source $WS_ROOT/src/scripts/version`
VERSION=${VERSION/"~"/"-"}
# Copy the files to the appropriate directory
SRC_DIR=../docs/_build/html/.
if [ "$VPP_BRANCH" == "master" ]
then
TARGET_DIR=./static/docs/vpp/master
rm -fr $TARGET_DIR
else
TARGET_DIR=./static/docs/vpp/v$VPP_BRANCH
rm -fr $TARGET_DIR
mkdir -p $TARGET_DIR
VERSION=v$VPP_BRANCH
rm ./static/docs/vpp/latest
ln -s $VERSION ./static/docs/vpp/latest
fi
# Create a branch for the commit
git checkout -b $VERSION
git branch
# Copy the docs
cp -r $SRC_DIR $TARGET_DIR
# Create the feature list
pushd ..
source ./docs/venv/bin/activate
find . -name FEATURE.yaml | ./src/scripts/fts.py --markdown > site/content/vppProject/vppfeatures/features.md
deactivate
popd
# Push the new docs
git add "*"
git commit -s -m "Publish docs from VPP $VERSION"
git push origin "$VERSION"
exit 0