This is an automated email from the ASF dual-hosted git repository.

zhasheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-mxnet.git


The following commit(s) were added to refs/heads/master by this push:
     new ab5242c  [MXNET-711] Website build and version dropdown update (#11892)
ab5242c is described below

commit ab5242c1919cefed6d69106b6f81645fa320bed3
Author: Aaron Markham <[email protected]>
AuthorDate: Sun Jul 29 12:39:42 2018 -0700

    [MXNET-711] Website build and version dropdown update (#11892)
    
    * adding param for list of tags to display on website
    
    * using new website display argument for artifact placement in version 
folder
    
    * adding display logic
    
    * remove restricted setting for testing
    
    * update usage instructions
    
    * reverted Jenkinsfile to use restricted nodes
---
 ci/docker/runtime_functions.sh               |  6 +++-
 docs/build_version_doc/build_all_version.sh  | 48 ++++++++++++++++++++++------
 docs/build_version_doc/update_all_version.sh |  6 ++--
 3 files changed, 46 insertions(+), 14 deletions(-)

diff --git a/ci/docker/runtime_functions.sh b/ci/docker/runtime_functions.sh
index a0795eb..8805850 100755
--- a/ci/docker/runtime_functions.sh
+++ b/ci/docker/runtime_functions.sh
@@ -814,7 +814,11 @@ build_docs() {
     set -ex
     pushd .
     cd /work/mxnet/docs/build_version_doc
-    ./build_all_version.sh $1
+    # Parameters are set in the Jenkins pipeline: restricted-website-build
+    # $1 is the list of branches to build; $2 is the list of tags to display
+    # So you can build from the 1.2.0 branch, but display 1.2.1 on the site
+    ./build_all_version.sh $1 $2
+    # $3 is the default version tag for the website; $4 is the base URL
     ./update_all_version.sh $2 $3 $4
     cd VersionedWeb
     tar -zcvf ../artifacts.tgz .
diff --git a/docs/build_version_doc/build_all_version.sh 
b/docs/build_version_doc/build_all_version.sh
index 56b80e3..44cd540 100755
--- a/docs/build_version_doc/build_all_version.sh
+++ b/docs/build_version_doc/build_all_version.sh
@@ -20,23 +20,42 @@
 # This script is for locally building website for all versions
 # Built files are stored in $built
 
-# Takes one argument:
-# * tag list - space delimited list of Github tags; Example: "1.1.0 1.0.0 
master"
+# Takes two arguments:
+# tag list - semicolon delimited list of Github tags
+#   Example: "1.2.0;1.1.0;master"
+# display list - semicolon delimited list of what to display on website
+#   Example: "1.2.1;1.1.0;master"
+# The number of tags for the two arguments must be the same.
 # Example Usage:
-# ./build_all_version.sh "1.1.0 1.0.0 master"
+#   ./build_all_version.sh "1.2.0;1.1.0;master" "1.2.1;1.1.0;master"
+#   ./build_all_version.sh "1.2.0" "1.2.1"
 
 set -e
 set -x
 
 if [ -z "$1" ]
   then
-    echo "Please provide a list of version tags you wish to run."
+    echo "Please provide a list of branches or tags you wish to build."
     exit 1
   else
     IFS=$';'
     tag_list=$1
     echo "Using these tags: $tag_list"
-    for tag in $tag_list; do echo $tag; done
+    build_arr=($tag_list)
+fi
+
+if [ -z "$2" ]
+  then
+    echo "Please provide a list of version tags you wish to display on the 
site."
+    exit 1
+  else
+    IFS=$';'
+    tags_to_display=$2
+    echo "Displaying these tags: $tags_to_display"
+    display_arr=($tags_to_display)
+    for key in ${!build_arr[@]}; do
+        echo "Branch/tag ${build_arr[${key}]} will be displayed as 
${display_arr[${key}]}"
+    done
 fi
 
 mxnet_url="https://github.com/apache/incubator-mxnet.git";
@@ -51,18 +70,27 @@ fi
 if [ ! -d "$built" ]; then
   mkdir $built
   mkdir "$built/versions"
+  else
+    if [ ! -d "$built/versions" ]; then
+      mkdir "$built/versions"
+    fi
 fi
 
-# Build all versions and use latest version(First version number in $tag_list) 
as landing page.
-for tag in $tag_list; do
+# Checkout each tag and build it
+# Then store it in a folder according to the desired display tag
+for key in ${!build_arr[@]}; do
+    tag=${build_arr[${key}]}
     cd "$mxnet_folder"
     git fetch
     if [ $tag == 'master' ]
         then
             git checkout master
             git pull
+            echo "Building master..."
         else
-            git checkout "v$tag"
+            # Use "v$tag" for branches or pass that in from jenkins
+            git checkout "$tag"
+            echo "Building $tag..."
     fi
 
     git submodule update --init --recursive || exit 1
@@ -72,11 +100,13 @@ for tag in $tag_list; do
     make clean
     make html USE_OPENMP=1 || exit 1
     cd ../../
-    file_loc="$built/versions/$tag"
+    # Use the display tag name for the folder name
+    file_loc="$built/versions/${display_arr[${key}]}"
     if [ -d "$file_loc" ] ; then
         rm -rf "$file_loc"
     fi
     mkdir "$file_loc"
+    echo "Storing artifacts for $tag in $file_loc folder..."
     cp -a "$mxnet_folder/docs/_build/html/." "$file_loc"
 done
 
diff --git a/docs/build_version_doc/update_all_version.sh 
b/docs/build_version_doc/update_all_version.sh
index bfd656f..e39b0a5 100755
--- a/docs/build_version_doc/update_all_version.sh
+++ b/docs/build_version_doc/update_all_version.sh
@@ -23,12 +23,12 @@
 # the tags you want to update.
 
 # Takes three arguments:
-# * tag list - space delimited list of Github tags; Example: "1.1.0 1.0.0 
master"
+# * tag list - semicolon delimited list of tags to display on site; Example: 
"1.1.0;1.0.0;master"
 # * default tag - which version should the site default to; Example: 1.0.0
 # * root URL - for the versions dropdown to change to production or dev 
server; Example: http://mxnet.incubator.apache.org/
 
 # Example Usage:
-# ./update_all_version.sh "1.1.0 1.0.0 master" 1.0.0 
http://mxnet.incubator.apache.org/
+# ./update_all_version.sh "1.1.0;1.0.0;master" 1.0.0 
http://mxnet.incubator.apache.org/
 
 set -e
 set -x
@@ -36,7 +36,6 @@ set -x
 MASTER_SOURCE_DIR="../../docs"
 STATIC_FILES_DIR="_static"
 MXNET_THEME_DIR="_static/mxnet-theme"
-BUILD_HTML_DIR="_build/html"
 
 if [ -z "$1" ]
   then
@@ -132,4 +131,3 @@ for tag in $tag_list; do
 done
 
 echo "The output of this process can be found in the VersionedWeb folder."
-

Reply via email to