mirror of https://github.com/istio/istio.io.git
122 lines
3.0 KiB
Bash
Executable File
122 lines
3.0 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
# Copyright Istio Authors
|
||
#
|
||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||
# you may not use this file except in compliance with the License.
|
||
# You may obtain a copy of the License at
|
||
#
|
||
# http://www.apache.org/licenses/LICENSE-2.0
|
||
#
|
||
# Unless required by applicable law or agreed to in writing, software
|
||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
# See the License for the specific language governing permissions and
|
||
# limitations under the License.
|
||
|
||
# Build the archive site
|
||
|
||
set -e
|
||
|
||
BASEURL="$1"
|
||
|
||
# List of name:tagOrBranch
|
||
# This is a list of archived versions
|
||
# TODO: rename TOBUILD to ARCHIVED_VERSIONS
|
||
TOBUILD=(
|
||
v1.4:release-1.4
|
||
v1.3:release-1.3
|
||
v1.2:release-1.2
|
||
v1.1:release-1.1
|
||
v1.0:release-1.0
|
||
v0.8:release-0.8
|
||
)
|
||
|
||
TOBUILD_JEKYLL=(
|
||
v0.7:release-0.7
|
||
v0.6:release-0.6
|
||
v0.5:release-0.5
|
||
v0.4:release-0.4
|
||
v0.3:release-0.3
|
||
v0.2:release-0.2
|
||
v0.1:release-0.1
|
||
)
|
||
|
||
# Prepare
|
||
TMP=$(mktemp -d)
|
||
mkdir "${TMP}/archive"
|
||
|
||
pushd "${TMP}" || exit
|
||
git clone -q https://github.com/istio/istio.io.git
|
||
pushd "istio.io" || exit
|
||
|
||
for rel in "${TOBUILD[@]}"; do
|
||
NAME=$(echo "$rel" | cut -d : -f 1)
|
||
TAG=$(echo "$rel" | cut -d : -f 2)
|
||
URL=${BASEURL}/${NAME}
|
||
|
||
echo "### Building '${NAME}' from ${TAG} for ${URL}"
|
||
git checkout "${TAG}"
|
||
|
||
if [[ "${TAG}" == "release-1.2" || "${TAG}" == "release-1.3" ]]; then
|
||
scripts/build_site.sh
|
||
fi
|
||
|
||
scripts/gen_site.sh "${URL}"
|
||
|
||
if [[ "${TAG}" != "release-0.8" && "${TAG}" != "release-1.0" && "${TAG}" != "release-1.1" && "${TAG}" != "release-1.2" && "${TAG}" != "release-1.3" ]]; then
|
||
scripts/build_site.sh "${URL}"
|
||
fi
|
||
|
||
mv public "${TMP}/archive/${NAME}"
|
||
echo "- name: \"${NAME}\"" >> "${TMP}/archives.yml"
|
||
|
||
git clean -f
|
||
done
|
||
|
||
for rel in "${TOBUILD_JEKYLL[@]}"; do
|
||
NAME=$(echo "$rel" | cut -d : -f 1)
|
||
TAG=$(echo "$rel" | cut -d : -f 2)
|
||
URL=${BASEURL}/${NAME}
|
||
|
||
echo "### Building '${NAME}' from ${TAG} for ${URL}"
|
||
git checkout "${TAG}"
|
||
echo "baseurl: ${URL}" > config_override.yml
|
||
|
||
bundle install
|
||
bundle exec jekyll build --config _config.yml,config_override.yml
|
||
bundle clean --force
|
||
|
||
mv _site "${TMP}/archive/${NAME}"
|
||
echo "- name: \"${NAME}\"" >> "${TMP}/archives.yml"
|
||
|
||
git clean -f
|
||
done
|
||
|
||
# delete this pesky command as it overrides the sass version we explicitly installed and want to be using
|
||
# shellcheck disable=SC2230
|
||
rm -fr "$(which sass)"
|
||
|
||
echo "### Building landing page"
|
||
popd || exit
|
||
popd || exit
|
||
|
||
# Adjust a few things for archive_landing
|
||
rm -fr content/en/about content/en/docs content/en/faq content/en/blog content/en/news content/zh
|
||
rm -fr static/talks
|
||
sed -i 's/preliminary: true/preliminary: false/g' data/args.yml
|
||
sed -i 's/archive_landing: false/archive_landing: true/g' data/args.yml
|
||
|
||
# Grab the state
|
||
cp "${TMP}/archives.yml" data
|
||
|
||
scripts/gen_site.sh
|
||
scripts/build_site.sh "$1"
|
||
|
||
mv public/* "${TMP}/archive"
|
||
rm -fr public
|
||
mv "${TMP}/archive" public
|
||
rm -fr "${TMP}"
|
||
|
||
echo "All done!"
|