Remove "RELEASES" file from docs/website build

We were using a file with hard coded versions to display docs for, but
this complicates things if/when we need to do patch releases on
different branches from master.

Signed-off-by: Patrick East <east.patrick@gmail.com>
This commit is contained in:
Patrick East
2019-06-12 21:10:12 -07:00
parent 9ab2e04868
commit 994997479f
4 changed files with 42 additions and 16 deletions
-6
View File
@@ -58,15 +58,9 @@ EOF
mv _CHANGELOG.md CHANGELOG.md
}
update_website() {
local releases_file="docs/website/RELEASES"
echo "v${VERSION}" | cat - ${releases_file} > temp && mv temp ${releases_file}
}
main() {
update_makefile
update_changelog
update_website
git --no-pager diff --no-color
}
+7
View File
@@ -98,6 +98,13 @@ make generate
```
The content then will be placed into `docs/website/generated/docs/$VERSION/`.
This will attempt to fetch the latest tags from git. The fetch will be skipped
if the `OFFLINE` environment variable is defined. For example:
```shell
OFFLINE=1 make generate
```
### Run the site locally using Docker
> Note: running with docker only uses the Hugo server and not Netlify locally.
-4
View File
@@ -1,4 +0,0 @@
v0.12.0
v0.11.0
v0.10.7
v0.10.6
+35 -6
View File
@@ -14,7 +14,40 @@ ROOT_DIR=$(git rev-parse --show-toplevel)
RELEASES_YAML_FILE=${ROOT_DIR}/docs/website/data/releases.yaml
GIT_VERSION=$(git --version)
RELEASES=$(cat ${ROOT_DIR}/docs/website/RELEASES)
# Look at the git tags and generate a list of releases
# that we want to show docs for.
if [[ -z ${OFFLINE} ]]; then
git fetch --tags ${REPOSITORY_URL:-https://github.com/open-policy-agent/opa.git}
fi
ALL_RELEASES=$(git tag -l | sort -r -V)
RELEASES=()
PREV_MAJOR_VER="-1"
PREV_MINOR_VER="-1"
for release in ${ALL_RELEASES}; do
CUR_SEM_VER=${release#"v"}
SEMVER_REGEX='[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)'
CUR_MAJOR_VER=$(echo ${CUR_SEM_VER} | sed -e "s#${SEMVER_REGEX}#\1#")
CUR_MINOR_VER=$(echo ${CUR_SEM_VER} | sed -e "s#${SEMVER_REGEX}#\2#")
CUR_PATCH_VER=$(echo ${CUR_SEM_VER} | sed -e "s#${SEMVER_REGEX}#\3#")
# ignore versions from before we used this static site generator
if [[ (${CUR_MAJOR_VER} -lt 0) || \
(${CUR_MAJOR_VER} -le 0 && ${CUR_MINOR_VER} -lt 10) || \
(${CUR_MAJOR_VER} -le 0 && ${CUR_MINOR_VER} -le 10 && ${CUR_PATCH_VER} -le 5) ]]; then
continue
fi
# The releases are sorted in order by semver from newest to oldest, and we only want
# the latest point release for each minor version
if [[ "${CUR_MAJOR_VER}" != "${PREV_MAJOR_VER}" || \
("${CUR_MAJOR_VER}" = "${PREV_MAJOR_VER}" && \
"${CUR_MINOR_VER}" != "${PREV_MINOR_VER}") ]]; then
RELEASES+=(${release})
fi
PREV_MAJOR_VER=${CUR_MAJOR_VER}
PREV_MINOR_VER=${CUR_MINOR_VER}
done
echo "Git version: ${GIT_VERSION}"
@@ -54,16 +87,12 @@ rm -rf ${ROOT_DIR}/docs/website/generated/*
echo "Removing data/releases.yaml file"
rm -f ${RELEASES_YAML_FILE}
for release in ${RELEASES}; do
for release in "${RELEASES[@]}"; do
version_docs_dir=${ROOT_DIR}/docs/website/generated/docs/${release}
mkdir -p ${version_docs_dir}
echo "Checking out release ${release}"
if [[ -z "$(git tag -l | grep ${release} || echo '')" ]]; then
echo "Unable to find tag locally, attempting to fetch from github.."
git fetch --tags https://github.com/open-policy-agent/opa.git
fi
# Don't error if the checkout fails
set +e