Chore: Update Calcium SR1 downloads page
[docs.git] / activate-projects-rtd-branch.sh
index b72012d13a893218b69032877426c14449fd1238..f5a6f26162d7a5fc1234ac7f046e202442d90f87 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
 # SPDX-License-Identifier: EPL-1.0
 ##############################################################################
 # Copyright (c) 2019 The Linux Foundation and others.
@@ -9,12 +9,17 @@
 # http://www.eclipse.org/legal/epl-v10.html
 ##############################################################################
 
+
+#activate project docs versions for all supported ODL projects.
+#This script needs to be run either manually by a docs maintainer with a valid RTD API token
+#or automatically by Jenkins or any CI with a common hidden token.
+
+
 usage() {
-    echo "Usage: $0 <token> <version_name>"
-    echo ""
+    echo "Usage: $0 <token>"
+    echo
     echo "    token:  RTD API Token"
-    echo "    version_name:  Name of the version to be activated e.g stable-aluminium."
-    echo ""
+    echo
 }
 
 # Activate project docs version in RTD
@@ -28,6 +33,7 @@ activate_version() {
         -H "Authorization: Token $token"  \
         -H "Content-Type: application/json" \
         --data "{\"active\": true, \"hidden\": false}"
+    echo
 }
 
 # Build "latest" to force RTD to update available versions
@@ -39,6 +45,20 @@ update_available_versions() {
     curl -X POST "https://readthedocs.org/api/v3/projects/$project_name/versions/latest/builds/" \
         -H "Authorization: Token $token" \
         -H "Content-Length: 0"
+    echo
+}
+
+# Build  to force RTD to update available versions
+build_version() {
+    token=$1
+    project_name=$2
+    version_name=$3
+
+    echo "Forcing RTD to update available versions"
+    curl -X POST "https://readthedocs.org/api/v3/projects/$project_name/versions/$version_name/builds/" \
+        -H "Authorization: Token $token" \
+        -H "Content-Length: 0"
+    echo
 }
 
 while getopts :h: opts; do
@@ -54,7 +74,7 @@ while getopts :h: opts; do
     esac
 done
 
-if [ -z $2 ]; then
+if [ -z $1 ]; then
     usage
     exit 1
 fi
@@ -64,32 +84,18 @@ fi
 ################
 
 token="$1"
-version_name="$2"
-
-supported_projects=(
-    odl-aaa
-    odl-bgpcep
-    odl-daexim
-    odl-genius
-    opendaylight-distribution
-    odl-jsonrpc
-    odl-lispflowmapping
-    odl-netconf
-    odl-netvirt
-    odl-openflowplugin
-    opendaylight-ovsdb
-    opendaylight-serviceutils
-)
-
-for project in ${supported_projects[@]}; do
-    update_available_versions "$token" "$project" "$version_name"
+
+for project in $(grep -v ^# projects_list.tsv | cut -f1); do
+    update_available_versions "$token" "odl-$project"
 done
 
-echo ""
-echo ""
+echo
 echo "Waiting 60 seconds for available versions to update"
+echo
 sleep 60  # Wait a minute for RTD to update available versions
 
-for project in ${supported_projects[@]}; do
-    activate_version "$token" "$project" "$version_name"
+for project in $(grep -v ^# projects_list.tsv | cut -f1); do
+    version_name=$(grep $project projects_list.tsv | grep -v ^# | cut -f2)
+    activate_version "$token" "odl-$project" "$version_name"
+    build_version "$token" "odl-$project" "$version_name"
 done