mirror of
https://mau.dev/andreijiroh-dev/website.git
synced 2024-11-25 09:53:46 +00:00
64 lines
1.6 KiB
Bash
Executable file
64 lines
1.6 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
set -ea
|
|
if [[ $DEBUG != "" ]]; then
|
|
set -x
|
|
fi
|
|
|
|
## source vars from .env first ##
|
|
_root_directory_git=$(git rev-parse --show-toplevel)
|
|
# shellcheck file=/dev/null
|
|
if [[ -f "$_root_directory_git/.env" ]]; then
|
|
source "$_root_directory_git/.env"
|
|
fi
|
|
|
|
_branch_name_git=$(git rev-parse --abbrev-ref HEAD)
|
|
_commit_sha=$(git rev-parse HEAD)
|
|
_commit_sha_short=$(git rev-parse --short HEAD)
|
|
_command_prefix="npx wrangler pages publish $_root_directory_git/public --project-name $CF_PAGES_PROJECT_NAME --branch $_branch_name_git --commit-hash $_commit_sha"
|
|
|
|
warn() {
|
|
echo "warning: $*"
|
|
}
|
|
|
|
error() {
|
|
echo "error: $*"
|
|
}
|
|
|
|
info() {
|
|
echo "info: $*"
|
|
}
|
|
|
|
if [[ $_branch_name_git == "main" ]]; then
|
|
DEPLOY_COMMAND="$_command_prefix --env production"
|
|
elif [[ $CI_PIPELINE_SOURCE == "merge_request" ]]; then
|
|
DEPLOY_COMMAND="$_command_prefix --env pr-#CI_MERGE_REQUEST_ID"
|
|
fi
|
|
|
|
if ! git diff-index --quiet HEAD -- && [[ $FF_DIRTY_DEPLOY != "true" ]]; then
|
|
error Possible dirty working directory, aborting for safety reasons...
|
|
info To deploy while still dirty, set FF_DIRTY_DEPLOY=true on next invocation.
|
|
exit 1
|
|
fi
|
|
|
|
if [[ ! -d "$_root_directory_git/public" ]]; then
|
|
bash "$_root_directory_git/bin/build.sh"
|
|
cp markdown/.well-known public/ -rv
|
|
fi
|
|
|
|
if [[ $FF_DIRTY_DEPLOY == "true" ]]; then
|
|
$DEPLOY_COMMAND --commit-dirty
|
|
else
|
|
${DEPLOY_COMMAND:-"$_command_prefix"}
|
|
fi
|
|
|
|
if [[ $_branch_name_git == "main" ]]; then
|
|
tar -C public -cvz . -f site-build.tar.gz
|
|
curl --oauth2-bearer "$SOURCEHUT_PAGES_TOKEN" \
|
|
-Fcontent=@site-build.tar.gz \
|
|
"https://pages.sr.ht/publish/ajhalili2006.srht.site"
|
|
fi
|
|
|
|
if [[ $DEBUG != "" ]]; then
|
|
set +x
|
|
fi
|
|
set +a
|