Added gs-create-repo command
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
This commit is contained in:
parent
31ec51f982
commit
5d965ade68
@ -36,4 +36,8 @@ else
|
|||||||
orange() {
|
orange() {
|
||||||
echo $@
|
echo $@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
blue() {
|
||||||
|
echo $@
|
||||||
|
}
|
||||||
fi
|
fi
|
||||||
|
74
home/.bin/gs-create-repo
Executable file
74
home/.bin/gs-create-repo
Executable file
@ -0,0 +1,74 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
source .utils
|
||||||
|
|
||||||
|
TEMPLATE="giantswarm/template-app"
|
||||||
|
VISIBILITY="public"
|
||||||
|
|
||||||
|
print_usage() {
|
||||||
|
orange "gs-create-repo - a new Giant Swarm repo"
|
||||||
|
echo " "
|
||||||
|
underline "Usage:"
|
||||||
|
echo "gs-create-repo (flags) [repo-name]"
|
||||||
|
echo " "
|
||||||
|
echo " "
|
||||||
|
underline "Options:"
|
||||||
|
echo "-h, --help show this help text"
|
||||||
|
echo "-t, --template the template repo to base the new repo on (default: ${TEMPLATE})"
|
||||||
|
echo " --visibility the visibility of the repo (default: ${VISIBILITY}"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
POS_ARGS=()
|
||||||
|
while test $# -gt 0; do
|
||||||
|
case "$1" in
|
||||||
|
-t|--template)
|
||||||
|
shift
|
||||||
|
TEMPLATE=$1
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-p|--private)
|
||||||
|
shift
|
||||||
|
PRIVATE="--private"
|
||||||
|
;;
|
||||||
|
-h|--help)
|
||||||
|
print_usage
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
POS_ARGS+=${1}
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
case $TEMPLATE in
|
||||||
|
*/*)
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
TEMPLATE="giantswarm/${TEMPLATE}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
REPOSITORY_NAME=${POS_ARGS[0]}
|
||||||
|
|
||||||
|
echo "✨ Creating new repo $(italic ${VISIBILITY}) $(orange ${REPOSITORY_NAME}) using base template $(blue ${TEMPLATE})"
|
||||||
|
gh repo create --${VISIBILITY} --template ${TEMPLATE} giantswarm/${REPOSITORY_NAME}
|
||||||
|
|
||||||
|
if [ -d helm/APP-NAME ]; then
|
||||||
|
mv helm/APP-NAME helm/${REPOSITORY_NAME}
|
||||||
|
fi
|
||||||
|
|
||||||
|
devctl replace -i '{APP-NAME}' ${REPOSITORY_NAME} --ignore .git ./.** ./**
|
||||||
|
|
||||||
|
git add -A
|
||||||
|
git commit -m "rename APP-NAME placeholder to ${REPOSITORY_NAME}"
|
||||||
|
git push
|
||||||
|
|
||||||
|
devctl repo setup giantswarm/${REPOSITORY_NAME} \
|
||||||
|
--allow-automerge=true --allow-mergecommit=false --allow-rebasemerge=false \
|
||||||
|
--allow-squashmerge=true --allow-updatebranch=true --delete-branch-on-merge=true \
|
||||||
|
--enable-issues=true --enable-projects=false --enable-wiki=false
|
||||||
|
|
||||||
|
echo "🎉 New repo $(orange ${REPOSITORY_NAME}) created! - https://github.com/giantswarm/${REPOSITORY_NAME}"
|
@ -30,7 +30,7 @@ BREW_TOOLS=(
|
|||||||
kubectl kubectx kustomize node procs progress ripgrep rs/tap/curlie rust starship
|
kubectl kubectx kustomize node procs progress ripgrep rs/tap/curlie rust starship
|
||||||
tektoncd/tools/tektoncd-cli tldr tailscale yq hashicorp/tap/vault stats
|
tektoncd/tools/tektoncd-cli tldr tailscale yq hashicorp/tap/vault stats
|
||||||
tabby vale lastpass-cli jless macchina tz vmware-tanzu/carvel/kapp viddy
|
tabby vale lastpass-cli jless macchina tz vmware-tanzu/carvel/kapp viddy
|
||||||
homeassistant-cli act dnsmasq
|
homeassistant-cli act dnsmasq gh
|
||||||
)
|
)
|
||||||
CARGO_TOOLS=( bottom )
|
CARGO_TOOLS=( bottom )
|
||||||
NODE_TOOLS=( git-split-diffs )
|
NODE_TOOLS=( git-split-diffs )
|
||||||
|
Loading…
Reference in New Issue
Block a user