#!/bin/bash export VER_LATEST_MAJOR=1 export VER_LATEST_MINOR=0 export VER_LATEST_EXTRA=wip export PATCHLEVEL=$(date +%Y%m%d) export VERSION_TWEAK=$(( $(date "+10#%H * 60 + 10#%M") )) function do_build() { cat << EOF > PAGES 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 cat << EOF > VERSION VERSION_MAJOR = $VERSION_MAJOR VERSION_MINOR = $VERSION_MINOR PATCHLEVEL = $PATCHLEVEL VERSION_TWEAK = $VERSION_TWEAK EXTRAVERSION = $EXTRAVERSION EOF mkdir -p 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 echo "**** Updating $PAGES_URL/$VER_DIR ****" echo "**** env ****" env echo "**** make clean ****" # Clean build directory make clean BUILDDIR=public/$VER_DIR echo "**** make html ****" # Build and serve HTML make html BUILDDIR=public/$VER_DIR mv public/$VER_DIR/html/* public/$VER_DIR/ echo "**** make latexpdf ****" # Build, optimize, and serve PDF make latexpdf BUILDDIR=public/$VER_DIR echo "**** pdfcpu ****" if [ "x${CI_RUNNER_EXECUTABLE_ARCH}" == "xlinux/arm64" ] ; then echo "**** check and install pdfcpu ****" if [ ! -f /usr/local/bin/pdfcpu ] ; then wget https://github.com/pdfcpu/pdfcpu/releases/download/v0.4.0/pdfcpu_0.4.0_Linux_x86_64.tar.xz tar xf pdfcpu_0.4.0_Linux_x86_64.tar.xz mv -v pdfcpu_0.4.0_Linux_arm64/pdfcpu /usr/local/bin/ fi /usr/local/bin/pdfcpu version du -sh public/$VER_DIR/latex/beagleboard-docs.pdf /usr/local/bin/pdfcpu optimize public/$VER_DIR/latex/beagleboard-docs.pdf du -sh public/$VER_DIR/latex/beagleboard-docs.pdf else pdfcpu version pdfcpu optimize public/$VER_DIR/latex/beagleboard-docs.pdf fi mv public/$VER_DIR/latex/beagleboard-docs.pdf public/$VER_DIR/ echo "**** cleanup ****" # Cleanup rm -rf public/$VER_DIR/doctrees rm -rf public/$VER_DIR/latex # Update docs.beagleboard.org 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 } 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 do_build 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 export BRANCH_VER=($(echo $CI_COMMIT_BRANCH | tr "." "\n")) export VERSION_MAJOR=${BRANCH_VER[0]} export VERSION_MINOR=${BRANCH_VER[1]} export EXTRAVERSION=wip do_build elif [ "$CI_COMMIT_TAG" != "" ]; then export TAG_SPLIT=($(echo $CI_COMMIT_TAG | tr "-" "\n")) export TAG_VER=($(echo ${TAG_SPLIT[0]} | tr "." "\n")) export VERSION_MAJOR=${TAG_VER[0]} export VERSION_MINOR=${TAG_VER[1]} export EXTRAVERSION=${TAG_SPLIT[1]} export PAGES_URL=https://docs.beagleboard.org export GITLAB_USER=docs export GITLAB_HOST=$CI_SERVER_HOST export PROJECT_REPO=docs.beagleboard.io if [ "$PROJECT_BRANCH" ]; then export VER_DIR=$PROJECT_BRANCH export PAGES_SLUG=$PROJECT_BRANCH else export PROJECT_BRANCH=latest export VER_DIR=latest export PAGES_SLUG=latest fi do_build else echo "***** Not on a branch or tag *****" fi env