From 7318a166238372459902450eda6fe0255349bc14 Mon Sep 17 00:00:00 2001 From: Jason Kridner <jkridner@beagleboard.org> Date: Thu, 29 Sep 2022 12:33:51 -0400 Subject: [PATCH] WIP: try to clean/automate -- out of time --- gitlab-build.sh | 136 ++++++++++++++++++++++++++++-------------------- 1 file changed, 80 insertions(+), 56 deletions(-) diff --git a/gitlab-build.sh b/gitlab-build.sh index c79002e9..b536bd3e 100755 --- a/gitlab-build.sh +++ b/gitlab-build.sh @@ -1,24 +1,81 @@ #!/bin/bash +apk add git +apk add rsync +apk add date + +export VER_LATEST_MAJOR=0 +export VER_LATEST_MINOR=1 +export VER_LATEST_EXTRA=rc +export PATCHLEVEL=$(date +%Y%m%d) +export VERSION_TWEAK=$(( $(date "+10#%H * 60 + 10#%M") )) +export GIT_BRANCH=$(git branch -a --contains tags/$CI_COMMIT_TAG | grep origin | sed 's/.*origin\///') + +if [ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]; then + export VER_DIR=latest + export PAGES_URL=$CI_PAGES_URL + export PAGES_SLUG=$CI_COMMIT_BRANCH + export GITLAB_USER=$CI_PROJECT_NAMESPACE + export GITLAB_HOST=$CI_SERVER_HOST + export PROJECT_BRANCH=$CI_COMMIT_BRANCH + export PROJECT_REPO=$CI_PROJECT_NAME + export VERSION_MAJOR=$VER_LATEST_MAJOR + export VERSION_MINOR=$VER_LATEST_MINOR + export EXTRAVERSION=$VER_LATEST_EXTRA +elif [ "$CI_COMMIT_BRANCH" != "" ]; then + export VER_DIR=$CI_COMMIT_BRANCH + export PAGES_URL=$CI_PAGES_URL + export PAGES_SLUG=$CI_COMMIT_BRANCH + export GITLAB_USER=$CI_PROJECT_NAMESPACE + export GITLAB_HOST=$CI_SERVER_HOST + export PROJECT_BRANCH=$CI_COMMIT_BRANCH + export PROJECT_REPO=$CI_PROJECT_NAME + # TODO Figure out which MAJOR/MINOR/EXTRA we are on +elif [ "$CI_COMMIT_TAG" != "" ]; then + if [ "$GIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]; then + export VER_DIR=latest + export PAGES_URL=https://docs.beagleboard.org + export PAGES_SLUG=latest + export GITLAB_USER=docs + export GITLAB_HOST=$CI_SERVER_HOST + export PROJECT_BRANCH=$GIT_BRANCH + export PROJECT_REPO=docs.beagleboard.io + export VERSION_MAJOR=$VER_LATEST_MAJOR + export VERSION_MINOR=$VER_LATEST_MINOR + else + export VER_DIR=$GIT_BRANCH + export PAGES_URL=https://docs.beagleboard.org + export PAGES_SLUG=$GIT_BRANCH + export GITLAB_USER=docs + export GITLAB_HOST=$CI_SERVER_HOST + export PROJECT_BRANCH=$GIT_BRANCH + export PROJECT_REPO=docs.beagleboard.io + # TODO Figure out which MAJOR/MINOR we are on + fi +else + echo "***** Not on a branch or tag *****" +fi + env cat << EOF > PAGES -PAGES_URL = $CI_PAGES_URL -PAGES_SLUG = $CI_COMMIT_BRANCH -GITLAB_USER = $CI_PROJECT_NAMESPACE -PROJECT_BRANCH = $CI_COMMIT_BRANCH -GITLAB_HOST = $CI_SERVER_HOST -PROJECT_REPO = $CI_PROJECT_NAME +PAGES_URL = $PAGES_URL +PAGES_SLUG = $PAGES_SLUG +GITLAB_USER = $GITLAB_USER +PROJECT_BRANCH = $PROJECT_BRANCH +GITLAB_HOST = $GITLAB_HOST +PROJECT_REPO = $PROJECT_REPO EOF -if [ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]; then +cat << EOF > VERSION +VERSION_MAJOR = $VERSION_MAJOR +VERSION_MINOR = $VERSION_MINOR +PATCHLEVEL = $PATCHLEVEL +VERSION_TWEAK = $VERSION_TWEAK +EXTRAVERSION = $EXTRAVERSION +EOF -echo "**** Updating latest on docs.beagleboard.io ($CI_PROJECT_NAMESPACE) ****" -rm -rf public -sphinx-build -b html . public/latest/ -sphinx-build -M latexpdf . public/latest/ -mv public/latest/latex/beagleboard-docs.pdf public/latest/ -rm -rf public/latest/latex +mkdir -p public cat <<HERE > public/index.html <!DOCTYPE html> <html> @@ -31,50 +88,17 @@ cat <<HERE > public/index.html </html> HERE -elif [ "$CI_COMMIT_BRANCH" != "" ]; then - -echo "**** Updating $CI_COMMIT_BRANCH on docs.beagleboard.io ($CI_PROJECT_NAMESPACE) ****" -sphinx-build -b html . public/$CI_COMMIT_BRANCH/ -sphinx-build -M latexpdf . public/$CI_COMMIT_BRANCH/ -mv public/$CI_COMMIT_BRANCH/latex/beagleboard-docs.pdf public/$CI_COMMIT_BRANCH/ -rm -rf public/$CI_COMMIT_BRANCH/latex +echo "**** Updating $PAGES_URL/$VER_DIR ****" -elif [ "$CI_COMMIT_TAG" != "" ]; then +sphinx-build -b html . public/$VER_DIR/ +sphinx-build -M latexpdf . public/$VER_DIR/ +mv public/$VER_DIR/latex/beagleboard-docs.pdf public/$VER_DIR/ +rm -rf public/$VER_DIR/latex -apk add git -# Find which branch has the tag commit -export GIT_BRANCH=$(git branch -a --contains tags/$CI_COMMIT_TAG | grep origin | sed 's/.*origin\///') -echo "**** Releasing $GIT_BRANCH version $CI_COMMIT_TAG on docs.beagleboard.org (source from $CI_PROJECT_NAMESPACE) ****" -cat << EOF > PAGES -PAGES_URL = $CI_PAGES_URL -PAGES_SLUG = $GIT_BRANCH -GITLAB_USER = $CI_PROJECT_NAMESPACE -PROJECT_BRANCH = $GIT_BRANCH -GITLAB_HOST = $CI_SERVER_HOST -PROJECT_REPO = $CI_PROJECT_NAME -EOF -if [ "$GIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]; then -export GIT_BRANCH=latest -rm -rf public -cat <<HERE > public/index.html -<!DOCTYPE html> -<html> - <head> - <meta http-equiv="refresh" content="0; url='latest/'" /> - </head> - <body> - <p>Please follow <a href="latest/">this link</a>.</p> - </body> -</html> -HERE -cp public/index.html /var/www/docs +if [ "$CI_COMMIT_TAG" != "" ]; then + if [ "$VER_DIR" = "latest" ]; then + cp public/index.html /var/www/docs + fi + rsync -v -a --delete public/$VER_DIR/. /var/www/docs/$VER_DIR fi -sphinx-build -b html . public/$GIT_BRANCH/ -sphinx-build -M latexpdf . public/$GIT_BRANCH/ -cp public/$GIT_BRANCH/latex/beagleboard-docs.pdf public/$GIT_BRANCH/beagleboard-docs-$CI_COMMIT_TAG.pdf -cp public/$GIT_BRANCH/latex/beagleboard-docs.pdf public/$GIT_BRANCH/beagleboard-docs.pdf -rm -rf public/$GIT_BRANCH/latex -apk add rsync -rsync -v -a --delete public/$GIT_BRANCH/. /var/www/docs/$GIT_BRANCH -fi -- GitLab