2023-07-21 20:19:29 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
function create-archive(){
|
|
|
|
mkdir release
|
|
|
|
envsubst < module.json.template > ./module.json
|
|
|
|
cp ./module.json ./src/module.json
|
|
|
|
zip -r -9 ./release/module.zip ./src/*
|
|
|
|
}
|
|
|
|
|
2023-07-22 22:13:24 +00:00
|
|
|
function set-variables(){
|
2023-07-23 11:58:28 +00:00
|
|
|
RELEASE=$(echo $DRONE_COMMIT_MESSAGE | tr -d '\n')-$DRONE_BRANCH
|
|
|
|
echo "$RELEASE"
|
2023-07-22 22:13:24 +00:00
|
|
|
envsubst < module.json.template > ./module.json
|
|
|
|
cat ./module.json
|
2023-07-23 11:39:11 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
function create-commit(){
|
2023-07-22 22:13:24 +00:00
|
|
|
git add .
|
|
|
|
git commit -m 'update'
|
|
|
|
git push origin $DRONE_BRANCH
|
|
|
|
}
|
|
|
|
|
2023-07-21 20:19:29 +00:00
|
|
|
function create-release(){
|
2023-07-21 20:33:54 +00:00
|
|
|
if [[ -z "${TAG}" ]]; then
|
2023-07-21 20:28:21 +00:00
|
|
|
echo "TAG key is not set"
|
2023-07-21 20:33:54 +00:00
|
|
|
exit
|
2023-07-21 20:19:29 +00:00
|
|
|
fi
|
|
|
|
|
2023-07-21 22:52:38 +00:00
|
|
|
if [[ $1 == 'latest' ]]; then
|
|
|
|
echo "Deleting old latest release"
|
|
|
|
RELEASE_LIST=$(curl -X GET -Url https://gitea.kdiva.ru/api/v1/repos/modules/sc-items/releases)
|
2023-07-21 22:53:58 +00:00
|
|
|
LATEST_RELEASE_ID=$(jq -r '.[] | select(.tag_name=="latest") | .id' <<< $RELEASE_LIST)
|
2023-07-21 22:52:38 +00:00
|
|
|
delete-release $LATEST_RELEASE_ID
|
2023-07-21 23:01:18 +00:00
|
|
|
delete-tag
|
2023-07-21 23:18:04 +00:00
|
|
|
RELEASE_TAG="$1"
|
|
|
|
else
|
|
|
|
RELEASE_TAG="$1-$DRONE_BRANCH"
|
2023-07-21 22:52:38 +00:00
|
|
|
fi
|
2023-07-21 23:09:04 +00:00
|
|
|
|
|
|
|
COMMIT_SHA=$(git rev-parse HEAD)
|
2023-07-21 20:19:29 +00:00
|
|
|
RESPONSE=$(curl \
|
|
|
|
-X 'POST' \
|
|
|
|
-Url "https://gitea.kdiva.ru/api/v1/repos/${DRONE_REPO}/releases" \
|
|
|
|
-H 'accept: application/json' \
|
|
|
|
-H 'Content-Type: application/json' \
|
|
|
|
-H 'Authorization: Bearer 10e4af53e553aacb905766512e36487492d61a66' \
|
|
|
|
-d '{
|
|
|
|
"draft": false,
|
2023-07-21 23:18:04 +00:00
|
|
|
"name": "'"release $RELEASE_TAG"'",
|
2023-07-21 20:19:29 +00:00
|
|
|
"prerelease": false,
|
2023-07-21 23:18:04 +00:00
|
|
|
"tag_name": "'"$RELEASE_TAG"'",
|
2023-07-21 23:09:04 +00:00
|
|
|
"target_commitish": "'"$COMMIT_SHA"'"
|
2023-07-21 20:19:29 +00:00
|
|
|
}')
|
2023-07-21 22:18:37 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
function upload-attachments(){
|
2023-07-21 20:19:29 +00:00
|
|
|
RELEASE_ID=$(jq -r '.id' <<< $RESPONSE)
|
2023-07-21 20:32:38 +00:00
|
|
|
echo "RELEASE_ID is ${RELEASE_ID}"
|
2023-07-21 20:19:29 +00:00
|
|
|
curl \
|
2023-07-21 22:09:13 +00:00
|
|
|
-vv \
|
2023-07-21 20:19:29 +00:00
|
|
|
-X 'POST' \
|
2023-07-21 20:29:00 +00:00
|
|
|
-Url "https://gitea.kdiva.ru/api/v1/repos/${DRONE_REPO}/releases/${RELEASE_ID}/assets" \
|
2023-07-21 20:19:29 +00:00
|
|
|
-H 'accept: application/json' \
|
|
|
|
-H 'Content-Type: multipart/form-data' \
|
|
|
|
-H 'Authorization: Bearer 10e4af53e553aacb905766512e36487492d61a66' \
|
2023-07-21 22:18:37 +00:00
|
|
|
-F "attachment=@$1"
|
2023-07-21 20:19:29 +00:00
|
|
|
}
|
|
|
|
|
2023-07-21 22:52:38 +00:00
|
|
|
function delete-release(){
|
|
|
|
curl \
|
|
|
|
-X 'DELETE' \
|
2023-07-21 22:55:48 +00:00
|
|
|
-Url "https://gitea.kdiva.ru/api/v1/repos/${DRONE_REPO}/releases/${1}" \
|
|
|
|
-H 'Authorization: Bearer 10e4af53e553aacb905766512e36487492d61a66'
|
2023-07-21 22:52:38 +00:00
|
|
|
}
|
|
|
|
|
2023-07-21 23:01:18 +00:00
|
|
|
function delete-tag(){
|
|
|
|
curl \
|
|
|
|
-X 'DELETE' \
|
|
|
|
-Url "https://gitea.kdiva.ru/api/v1/repos/${DRONE_REPO}/tags/latest" \
|
|
|
|
-H 'Authorization: Bearer 10e4af53e553aacb905766512e36487492d61a66'
|
|
|
|
}
|