Created
April 5, 2022 08:47
-
-
Save timebertt/6081725d1ada64ae8fd63b3a34c54883 to your computer and use it in GitHub Desktop.
vendor-gardener-v1.44.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -o errexit | |
set -o nounset | |
set -o pipefail | |
extension="$(basename "$PWD")" | |
platform=$(echo "${extension#gardener-extension-provider-}" | sed 's/packet/equinix-metal/') | |
echo ">>> Revendoring $extension" | |
set -x | |
git_main_branch () { | |
command git rev-parse --git-dir &> /dev/null || return | |
local branch | |
for branch in main trunk | |
do | |
if command git show-ref -q --verify refs/heads/$branch | |
then | |
echo $branch | |
return | |
fi | |
done | |
echo master | |
} | |
git checkout $(git_main_branch) | |
git pull --rebase | |
git checkout -b "vendor/gg-v1.44" | |
# tidy has to be executed first (before vendor), otherwise you need two invocations to reach a final state | |
sed -i -e '0,/go mod tidy/s//go mod vendor/' Makefile | |
sed -i -e '0,/go mod vendor/s//go mod tidy/' Makefile | |
git add Makefile | |
git commit -m 'make `make revendor` deterministic' | |
# add missing tools prerequisites | |
sed -i 's/^generate:/generate: $(CONTROLLER_GEN) $(GEN_CRD_API_REFERENCE_DOCS) $(HELM) $(MOCKGEN)/' Makefile | |
git add Makefile | |
git commit -m 'Add tools to `make generate`' | |
# upgrade g/g dependency itself | |
go mod edit -require=github.com/gardener/gardener@v1.44.0 | |
git add go.mod | |
git commit -m "Upgrade gardener/gardener" | |
# workaround for https://github.com/gardener/hvpa-controller/issues/92 | |
cat <<EOF >> go.mod | |
// workaround for https://github.com/gardener/hvpa-controller/issues/92, remove once it's fixed | |
replace ( | |
github.com/gardener/hvpa-controller => github.com/gardener/hvpa-controller v0.4.0 | |
github.com/gardener/hvpa-controller/api => github.com/gardener/hvpa-controller/api v0.4.0 | |
) | |
EOF | |
git add go.mod | |
git commit -m "Add replace directives for hvpa-controller" | |
# revendor in a separate commit | |
make revendor | |
git add go.* vendor | |
git commit -m "[automated] make revendor" | |
# generate in a separate commit | |
make generate | |
echo "> Please add changes from code generation" | |
git add -i | |
git commit -m "[automated] make generate" | |
# open PR | |
echo "> Done. Ready to open a PR." | |
read -p "+++ Proceed (anything but 'y' aborts PR creation)? [y/n] " -r | |
echo | |
if ! [[ "${REPLY}" =~ ^[yY]$ ]]; then | |
echo "Aborting." >&2 | |
exit 1 | |
fi | |
cat <<EOF > /tmp/pr-body | |
**How to categorize this PR?** | |
/kind task | |
/platform $platform | |
**What this PR does / why we need it**: | |
Vendor gardener/gardener@v1.44 | |
/squash | |
EOF | |
gh pr create --title "Vendor gardener/gardener@v1.44" -F /tmp/pr-body |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment