build_tools/release.sh: push to the integration branch when all goes well

Also, ignore any "sendemail.to" Git config, and remove a temporary
statement in release notes.
This commit is contained in:
Johannes Altmanninger
2025-09-18 09:16:10 +02:00
parent 9a04c15894
commit 3456b33050
2 changed files with 12 additions and 10 deletions

View File

@@ -73,8 +73,6 @@ jobs:
*Download links: To download the source code for fish, we suggest the file named "fish-$version.tar.xz". The file downloaded from "Source code (tar.gz)" will not build correctly.*
*There is no GPG signature because we haven't yet decided how to integrate signing into the new release automation.*
*The files called fish-$version-linux-\*.tar.xz are experimental packages containing a single standalone ``fish`` binary for any Linux with the given architecture.*
EOF
} >/tmp/fish-built/release-notes.md

View File

@@ -46,6 +46,13 @@ if git tag | grep -qxF "$version"; then
exit 1
fi
integration_branch=$(
git for-each-ref --points-at=HEAD 'refs/heads/Integration_*' \
--format='%(refname:strip=2)'
)
[ -n "$integration_branch" ] ||
git merge-base --is-ancestor $remote/master HEAD
sed -n 1p CHANGELOG.rst | grep -q '^fish .*(released ???)$'
sed -n 2p CHANGELOG.rst | grep -q '^===*$'
@@ -157,8 +164,9 @@ done
git push git@github.com:$repository_owner/fish-site HEAD:master
)
if git merge-base --is-ancestor $remote/master $version
then
if [ -n "$integration_branch" ]; then
git push $remote "$version^{commit}":refs/heads/$integration_branch
else
changelog=$(cat - CHANGELOG.rst <<EOF
fish ?.?.? (released ???)
=========================
@@ -168,10 +176,6 @@ EOF
printf %s\\n "$changelog" >CHANGELOG.rst
CommitVersion ${version}-snapshot "start new cycle"
git push $remote HEAD:master
else
# Probably on an integration branch.
# TODO Maybe push when that's safe (or move this to CI).
:
fi
# TODO This can currently require a TTY for editing and password
@@ -180,12 +184,12 @@ if [ "$repository_owner" = fish-shell ]; then {
mail=$(mktemp)
cat >$mail <<EOF
From: $(git var GIT_AUTHOR_IDENT | sed 's/ [0-9]* +[0-9]*$//')
To: fish-users Mailing List <fish-users@lists.sourceforge.net>
Subject: fish $version released
See https://github.com/fish-shell/fish-shell/releases/tag/$version
EOF
git send-email --suppress-cc=all $mail
git send-email --suppress-cc=all --confirm=always $mail \
--to="fish-users Mailing List <fish-users@lists.sourceforge.net>"
rm $mail
} fi