chore: create_release check for unused lint
This commit is contained in:
+36
-26
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# rust create_release
|
# rust create_release
|
||||||
# v0.3.1
|
# v0.4.1
|
||||||
|
|
||||||
STAR_LINE='****************************************'
|
STAR_LINE='****************************************'
|
||||||
CWD=$(pwd)
|
CWD=$(pwd)
|
||||||
@@ -12,10 +12,9 @@ YELLOW='\033[0;33m'
|
|||||||
PURPLE='\033[0;35m'
|
PURPLE='\033[0;35m'
|
||||||
RESET='\033[0m'
|
RESET='\033[0m'
|
||||||
|
|
||||||
|
|
||||||
# $1 string - error message
|
# $1 string - error message
|
||||||
error_close() {
|
error_close() {
|
||||||
echo -e "\n${RED}ERROR - EXITED: ${YELLOW}$1${RESET}\n";
|
echo -e "\n${RED}ERROR - EXITED: ${YELLOW}$1${RESET}\n"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -56,8 +55,7 @@ get_git_remote_url() {
|
|||||||
# Check that git status is clean
|
# Check that git status is clean
|
||||||
check_git_clean() {
|
check_git_clean() {
|
||||||
GIT_CLEAN=$(git status --porcelain)
|
GIT_CLEAN=$(git status --porcelain)
|
||||||
if [[ -n $GIT_CLEAN ]]
|
if [[ -n $GIT_CLEAN ]]; then
|
||||||
then
|
|
||||||
error_close "git dirty"
|
error_close "git dirty"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -66,8 +64,7 @@ check_git_clean() {
|
|||||||
check_git() {
|
check_git() {
|
||||||
CURRENT_GIT_BRANCH=$(git branch --show-current)
|
CURRENT_GIT_BRANCH=$(git branch --show-current)
|
||||||
check_git_clean
|
check_git_clean
|
||||||
if [[ ! "$CURRENT_GIT_BRANCH" =~ ^dev$ ]]
|
if [[ ! "$CURRENT_GIT_BRANCH" =~ ^dev$ ]]; then
|
||||||
then
|
|
||||||
error_close "not on dev branch"
|
error_close "not on dev branch"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -79,8 +76,7 @@ ask_changelog_update() {
|
|||||||
printf "%s" "$RELEASE_BODY_TEXT"
|
printf "%s" "$RELEASE_BODY_TEXT"
|
||||||
printf "\n%s\n" "${STAR_LINE}"
|
printf "\n%s\n" "${STAR_LINE}"
|
||||||
ask_yn "accept release body"
|
ask_yn "accept release body"
|
||||||
if [[ "$(user_input)" =~ ^y$ ]]
|
if [[ "$(user_input)" =~ ^y$ ]]; then
|
||||||
then
|
|
||||||
update_release_body_and_changelog "$RELEASE_BODY_TEXT"
|
update_release_body_and_changelog "$RELEASE_BODY_TEXT"
|
||||||
else
|
else
|
||||||
exit
|
exit
|
||||||
@@ -122,8 +118,7 @@ check_tag () {
|
|||||||
LATEST_TAG=$(git describe --tags "$(git rev-list --tags --max-count=1)")
|
LATEST_TAG=$(git describe --tags "$(git rev-list --tags --max-count=1)")
|
||||||
echo -e "\nCurrent tag: ${PURPLE}${LATEST_TAG}${RESET}\n"
|
echo -e "\nCurrent tag: ${PURPLE}${LATEST_TAG}${RESET}\n"
|
||||||
echo -e "${YELLOW}Choose new tag version:${RESET}\n"
|
echo -e "${YELLOW}Choose new tag version:${RESET}\n"
|
||||||
if [[ $LATEST_TAG =~ ^v(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(-((0|[1-9][0-9]*|[0-9]*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9][0-9]*|[0-9]*[a-zA-Z-][0-9a-zA-Z-]*))*))?(\+([0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*))?$ ]]
|
if [[ $LATEST_TAG =~ ^v(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(-((0|[1-9][0-9]*|[0-9]*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9][0-9]*|[0-9]*[a-zA-Z-][0-9a-zA-Z-]*))*))?(\+([0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*))?$ ]]; then
|
||||||
then
|
|
||||||
IFS="." read -r MAJOR MINOR PATCH <<<"${LATEST_TAG:1}"
|
IFS="." read -r MAJOR MINOR PATCH <<<"${LATEST_TAG:1}"
|
||||||
else
|
else
|
||||||
MAJOR="0"
|
MAJOR="0"
|
||||||
@@ -134,23 +129,26 @@ check_tag () {
|
|||||||
OP_MINOR="minor___v$(update_minor)"
|
OP_MINOR="minor___v$(update_minor)"
|
||||||
OP_PATCH="patch___v$(update_patch)"
|
OP_PATCH="patch___v$(update_patch)"
|
||||||
OPTIONS=("$OP_MAJOR" "$OP_MINOR" "$OP_PATCH")
|
OPTIONS=("$OP_MAJOR" "$OP_MINOR" "$OP_PATCH")
|
||||||
select choice in "${OPTIONS[@]}"
|
select choice in "${OPTIONS[@]}"; do
|
||||||
do
|
|
||||||
case $choice in
|
case $choice in
|
||||||
"$OP_MAJOR")
|
"$OP_MAJOR")
|
||||||
MAJOR=$((MAJOR + 1))
|
MAJOR=$((MAJOR + 1))
|
||||||
MINOR=0
|
MINOR=0
|
||||||
PATCH=0
|
PATCH=0
|
||||||
break;;
|
break
|
||||||
|
;;
|
||||||
"$OP_MINOR")
|
"$OP_MINOR")
|
||||||
MINOR=$((MINOR + 1))
|
MINOR=$((MINOR + 1))
|
||||||
PATCH=0
|
PATCH=0
|
||||||
break;;
|
break
|
||||||
|
;;
|
||||||
"$OP_PATCH")
|
"$OP_PATCH")
|
||||||
PATCH=$((PATCH + 1))
|
PATCH=$((PATCH + 1))
|
||||||
break;;
|
break
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
error_close "invalid option $REPLY"
|
error_close "invalid option $REPLY"
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
@@ -158,8 +156,7 @@ check_tag () {
|
|||||||
# ask continue, or quit
|
# ask continue, or quit
|
||||||
ask_continue() {
|
ask_continue() {
|
||||||
ask_yn "continue"
|
ask_yn "continue"
|
||||||
if [[ ! "$(user_input)" =~ ^y$ ]]
|
if [[ ! "$(user_input)" =~ ^y$ ]]; then
|
||||||
then
|
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -199,7 +196,6 @@ cargo_build () {
|
|||||||
cargo_clean
|
cargo_clean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# $1 text to colourise
|
# $1 text to colourise
|
||||||
release_continue() {
|
release_continue() {
|
||||||
echo -e "\n${PURPLE}$1${RESET}"
|
echo -e "\n${PURPLE}$1${RESET}"
|
||||||
@@ -218,8 +214,20 @@ check_typos () {
|
|||||||
ask_continue
|
ask_continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Make sure the unused lint isn't used
|
||||||
|
check_allow_unsued() {
|
||||||
|
matches_any=$(find . -type d \( -name .git -o -name target \) -prune -o -type f -exec grep -lE '^#!\[allow\(unused\)\]$' {} +)
|
||||||
|
matches_cargo=$(grep "^unused = \"allow\"" ./Cargo.toml)
|
||||||
|
if [ -n "$matches_any" ]; then
|
||||||
|
error_close "\"#[allow(unused)]\" in ${matches_any}"
|
||||||
|
elif [ -n "$matches_cargo" ]; then
|
||||||
|
error_close "\"unsed = \"allow\"\" in Cargo.toml"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
# Full flow to create a new release
|
# Full flow to create a new release
|
||||||
release_flow() {
|
release_flow() {
|
||||||
|
check_allow_unsued
|
||||||
check_typos
|
check_typos
|
||||||
|
|
||||||
check_git
|
check_git
|
||||||
@@ -283,7 +291,6 @@ release_flow() {
|
|||||||
git branch -d "$RELEASE_BRANCH"
|
git branch -d "$RELEASE_BRANCH"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
cmd=(dialog --backtitle "Choose option" --radiolist "choose" 14 80 16)
|
cmd=(dialog --backtitle "Choose option" --radiolist "choose" 14 80 16)
|
||||||
options=(
|
options=(
|
||||||
@@ -297,22 +304,25 @@ main() {
|
|||||||
if [ $exitStatus -ne 0 ]; then
|
if [ $exitStatus -ne 0 ]; then
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
for choice in $choices
|
for choice in $choices; do
|
||||||
do
|
|
||||||
case $choice in
|
case $choice in
|
||||||
0)
|
0)
|
||||||
exit;;
|
exit
|
||||||
|
;;
|
||||||
1)
|
1)
|
||||||
cargo_test
|
cargo_test
|
||||||
main
|
main
|
||||||
break;;
|
break
|
||||||
|
;;
|
||||||
2)
|
2)
|
||||||
release_flow
|
release_flow
|
||||||
break;;
|
break
|
||||||
|
;;
|
||||||
3)
|
3)
|
||||||
cargo_build
|
cargo_build
|
||||||
main
|
main
|
||||||
break;;
|
break
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user