i-will-hurt-you-only-once/scripts/release.sh

45 lines
1.3 KiB
Bash
Executable file

#!/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 remote 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