Add use existing branch confirmation and progress for file download (#6294)

* Add `use existing branch for release` confirmation. Otherwise, this message might go unnoticed and we might build the wrong binaries

* Display the progress of downloaded artifacts so we can be sure the process is working
This commit is contained in:
Jorge Martin Espinosa
2026-03-06 14:45:47 +01:00
committed by GitHub
parent 491a6ef172
commit ad2263f464
2 changed files with 17 additions and 4 deletions

View File

@@ -142,9 +142,14 @@ if not args.simulate:
# open file to write in binary mode # open file to write in binary mode
with open(target, "wb") as file: with open(target, "wb") as file:
# get request # get request
response = requests.get(url, headers=headers) with requests.get(url, headers=headers, stream=True) as response:
# write to file total = int(response.headers.get('Content-Length', 0))
file.write(response.content) totalStr = "{0:.2f}".format(total / 1024 / 1024)
for chunk in response.iter_content(chunk_size=65536):
if chunk: # filter out keep-alive new chunks
file.write(chunk)
current = "{0:.2f}".format(file.tell() / 1024 / 1024)
print(f"Downloaded {current}/{totalStr} MB", end="\r")
print("Verifying file size...") print("Verifying file size...")
# get the file size # get the file size
size = os.path.getsize(target) size = os.path.getsize(target)

View File

@@ -131,7 +131,15 @@ git flow release start "${version}"
# Note: in case the release is already started and the script is started again, checkout the release branch again. # Note: in case the release is already started and the script is started again, checkout the release branch again.
ret=$? ret=$?
if [[ $ret -ne 0 ]]; then if [[ $ret -ne 0 ]]; then
printf "Mmh, it seems that the release is already started. Checking out the release branch...\n" printf "Mmh, it seems that the release is already started. I'm displaying the changes now:\n"
git diff --stat "release/${version}" origin/main
printf "Do you want to continue the release using its contents?\n\n"
read -r -p "Continue (yes/no) default to yes? " doContinue
doContinue=${doContinue:-yes}
if [ "${doContinue}" == "no" ]; then
printf "OK, exiting, you can start the release again with the command 'git flow release start %s'\n" "${version}"
exit 1
fi
git checkout "release/${version}" git checkout "release/${version}"
fi fi