#!/usr/bin/env bash # Builds the final versions of the book and then upload the results to various # locations. # Set up logging. log() { echo "️🚢 $(basename $0): $@"; } # Move into the root folder. cd $(dirname $(dirname $0)) # Perform the basic environment checks and setup. ./scripts/setup.sh || exit 1 ./scripts/check-env-bucket.sh || exit 1 # Clean up old versions of the file. log "cleaning up prior versions which may not match versions" rm -f dmoonfire* # Perform the release process. log "performing semantic release" export GIT_CREDENTIALS="dmoonfire:$GITEA_TOKEN" npx semantic-release || exit 1 # Create a tarball of the output files and upload them to S3. if ls dmoonfire* &> /dev/null then log "packaging output into a tarball" tar -cjf flowers-and-blood.tar.bz2 dmoonfire* log "uploading tarball to bucket" export AWS_ACCESS_KEY_ID=$S3_ACCESS_KEY_ID export AWS_SECRET_ACCESS_KEY=$S3_SECRET_ACCESS_KEY export AWS_ENDPOINT=$S3_ENDPOINT export AWS_BUCKET=$S3_BUCKET s3cmd --access_key=$S3_ACCESS_KEY_ID --access_token=$S3_SECRET_ACCESS_KEY --host=$S3_ENDPOINT --host-bucket=$S3_ENDPOINT -P put flowers-and-blood.tar.bz2 s3://$S3_BUCKET || exit 1 else log "no files to upload" fi