#!/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* # We need to change the URL to allow us to push. if [ "x$CI" != "x" ] then log "changing Git URL to allow for pushing" git remove set-url origin https://dmoonfire:$GITEA_TOKEN@src.mfgames.com/fedran-sources/i-will-hurt-you-only-once.git else log "not changing Git URL because we are not in a CI" fi # Perform the release process. log "performing semantic release" npx semantic-release # 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 i-will-hurt-you-only-once.tar.bz2 dmoonfire* log "uploading tarball to bucket s3cmd --access_key=$S3_ACCESS_KEY_ID --access_token=$S3_SECRET_ACCESS_KEY --host=$S3_ENDPOINT --host-bucket=$S3_ENDPOINT -P put i-will-hurt-you-only-once.tar.bz2 s3://$AWS_BUCKET || exit 1 else log "no files to upload" fi