github.com/weaveworks/common@v0.0.0-20230728070032-dd9e68f319d5/tools/publish-site (about) 1 #!/bin/bash 2 3 set -e 4 set -o pipefail 5 6 : "${PRODUCT:=}" 7 8 fatal() { 9 echo "$@" >&2 10 exit 1 11 } 12 13 if [ ! -d .git ]; then 14 fatal "Current directory is not a git clone" 15 fi 16 17 if [ -z "${PRODUCT}" ]; then 18 fatal "Must specify PRODUCT" 19 fi 20 21 if ! BRANCH=$(git symbolic-ref --short HEAD) || [ -z "$BRANCH" ]; then 22 fatal "Could not determine branch" 23 fi 24 25 case "$BRANCH" in 26 issues/*) 27 VERSION="${BRANCH#issues/}" 28 TAGS="$VERSION" 29 ;; 30 *) 31 if echo "$BRANCH" | grep -qE '^[0-9]+\.[0-9]+'; then 32 DESCRIBE=$(git describe --match 'v*') 33 if ! VERSION=$(echo "$DESCRIBE" | grep -oP '(?<=^v)[0-9]+\.[0-9]+\.[0-9]+'); then 34 fatal "Could not infer latest $BRANCH version from $DESCRIBE" 35 fi 36 TAGS="$VERSION latest" 37 else 38 VERSION="$BRANCH" 39 TAGS="$VERSION" 40 fi 41 ;; 42 esac 43 44 for TAG in $TAGS; do 45 echo ">>> Publishing $PRODUCT $VERSION to $1/docs/$PRODUCT/$TAG" 46 wordepress \ 47 --url "$1" --user "$2" --password "$3" \ 48 --product "$PRODUCT" --version "$VERSION" --tag "$TAG" \ 49 publish site 50 done