refactor: replace custom CRM with Monica fork
Some checks failed
Build & Push Monica Image to Gitea Registry / build-and-push (push) Failing after 9s
Some checks failed
Build & Push Monica Image to Gitea Registry / build-and-push (push) Failing after 9s
This commit is contained in:
75
scripts/vagrant/build/vagrant-upload.sh
Normal file
75
scripts/vagrant/build/vagrant-upload.sh
Normal file
@@ -0,0 +1,75 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -euvo pipefail
|
||||
|
||||
GIT_TAG=$(git describe --abbrev=0 --tags)
|
||||
VERSION=${GIT_TAG##v}
|
||||
API=https://app.vagrantup.com/api/v1
|
||||
|
||||
# Create a new version
|
||||
response=$(
|
||||
curl -sSL --header "Content-Type: application/json" --header "Authorization: Bearer $VAGRANT_CLOUD_TOKEN" \
|
||||
"$API/box/monicahq/monicahq/versions" \
|
||||
--data "{ \
|
||||
\"version\": { \
|
||||
\"version\": \"$VERSION\", \
|
||||
\"description\": \"https://github.com/monicahq/monica/releases/tag/$GIT_TAG\" \
|
||||
} \
|
||||
}"
|
||||
)
|
||||
if [ $(echo "$response" | jq .success) == "false" ]; then
|
||||
if [ $(echo "$response" | jq .errors[0]) != "Version has already been taken" ]; then
|
||||
echo "$response" | jq .errors[0]
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Create provider
|
||||
response=$(
|
||||
curl -sSL --header "Content-Type: application/json" --header "Authorization: Bearer $VAGRANT_CLOUD_TOKEN" \
|
||||
"$API/box/monicahq/monicahq/version/$VERSION/providers" \
|
||||
--data "{ \
|
||||
\"provider\": { \
|
||||
\"name\": \"virtualbox\" \
|
||||
} \
|
||||
}"
|
||||
)
|
||||
if [ $(echo "$response" | jq .success) == "false" ]; then
|
||||
if [ $(echo "$response" | jq .errors[0]) != "Metadata provider must be unique for version" ]; then
|
||||
echo "$response" | jq .errors[0]
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Upload the box
|
||||
response=$(
|
||||
curl -sSL --header "Authorization: Bearer $VAGRANT_CLOUD_TOKEN" \
|
||||
"$API/box/monicahq/monicahq/version/$VERSION/provider/virtualbox/upload"
|
||||
)
|
||||
if [ $(echo "$response" | jq .success) == "false" ]; then
|
||||
echo "$response" | jq .errors[0]
|
||||
exit 1
|
||||
fi
|
||||
upload_path=$(echo "$response" | jq .upload_path)
|
||||
upload_path="${upload_path%\"}"
|
||||
upload_path="${upload_path#\"}"
|
||||
|
||||
curl -fL --progress-bar \
|
||||
--request PUT \
|
||||
"$upload_path" \
|
||||
--upload-file "monicahq-$GIT_TAG.box"
|
||||
retval=$?
|
||||
if [ $? -ne 0 ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Publish the version
|
||||
response=$(
|
||||
curl -sSL --header "Authorization: Bearer $VAGRANT_CLOUD_TOKEN" \
|
||||
--request PUT \
|
||||
"$API/box/monicahq/monicahq/version/$VERSION/release"
|
||||
)
|
||||
if [ $(echo "$response" | jq .success) == "false" ]; then
|
||||
echo "$response" | jq .errors[0]
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user