aboutsummaryrefslogtreecommitdiffstats
path: root/docs/_scripts/publish-docs.sh
diff options
context:
space:
mode:
Diffstat (limited to 'docs/_scripts/publish-docs.sh')
-rwxr-xr-xdocs/_scripts/publish-docs.sh85
1 files changed, 85 insertions, 0 deletions
diff --git a/docs/_scripts/publish-docs.sh b/docs/_scripts/publish-docs.sh
new file mode 100755
index 00000000000..026ab2f3907
--- /dev/null
+++ b/docs/_scripts/publish-docs.sh
@@ -0,0 +1,85 @@
+#!/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