#!/bin/bash function generate-netrc-file() { echo "machine $GITHOST password $AUTHTOKEN" > ~/.netrc } function get-website-data() { curl -H "Authorization: token $AUTHTOKEN" -o $SOURCEDIR/$1 $GITREPOURL } function get-hash-data() { curl -s -H "Authorization: token $AUTHTOKEN" $GITCOMMITURL | jq '.sha' } function write-hash-data() { echo $1 > $HASHFILEDIR/$2 } function unzip-website-data() { unzip $SOURCEDIR/$1 -d $BUILDDIR } function build-website() { (cd $BUILDDIR; dir=$(ls); cd $dir; bash generate.sh;) } function move-website-files-to-target() { (cd $BUILDDIR; dir=$(ls); cd $dir; rsync -ru --exclude-from "/etc/exclude.pattern" --delete target/html/* $WEBSITEROOT;) } function install-hugo-from-deb() { curl -L "https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb" -o hugo_extended_${HUGO_VERSION}_linux-amd64.deb curl -L "https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_${HUGO_VERSION}_checksums.txt" -o checksums.txt EXPECTED_CHECKSUM="$(sha256sum hugo_extended_${HUGO_VERSION}_linux-amd64.deb)" ACTUAL_CHECKSUM="$(grep hugo_extended_${HUGO_VERSION}_linux-amd64.deb checksums.txt)" if [ "$EXPECTED_CHECKSUM" != "$ACTUAL_CHECKSUM" ] then >&2 echo 'ERROR: Invalid installer checksum' rm hugo.deb exit 1 fi echo "Installing hugo" echo dpkg -i hugo_extended_${HUGO_VERSION}_linux-amd64.deb echo "Clean up" rm hugo_extended_${HUGO_VERSION}_linux-amd64.deb rm checksums.txt } function install-go-from-tar() { curl -L "https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz" -o go_linux-amd64.tar.gz EXPECTED_CHECKSUM="4643d4c29c55f53fa0349367d7f1bb5ca554ea6ef528c146825b0f8464e2e668 go_linux-amd64.tar.gz" ACTUAL_CHECKSUM="$(sha256sum go_linux-amd64.tar.gz)" if [ "$EXPECTED_CHECKSUM" != "$ACTUAL_CHECKSUM" ] then >&2 echo 'ERROR: Invalid installer checksum' rm go_linux-amd64.tar.gz exit 1 fi echo "Installing go" echo tar -C /usr/local -xzf go_linux-amd64.tar.gz echo "Clean up" rm go_linux-amd64.tar.gz }