mirror of
https://github.com/nix-community/nix-direnv.git
synced 2025-11-08 19:46:11 +01:00
rework release process to work with merge-queues
This commit is contained in:
parent
70e533483b
commit
7e24237575
2 changed files with 39 additions and 16 deletions
|
|
@ -16,6 +16,17 @@ if [[ "$(git symbolic-ref --short HEAD)" != "master" ]]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
waitForPr() {
|
||||
local pr=$1
|
||||
while true; do
|
||||
if gh pr view "$pr" | grep -q 'MERGED'; then
|
||||
break
|
||||
fi
|
||||
echo "Waiting for PR to be merged..."
|
||||
sleep 5
|
||||
done
|
||||
}
|
||||
|
||||
sed -Ei "s!(version = ).*!\1\"$version\";!" default.nix
|
||||
sed -Ei "s!(NIX_DIRENV_VERSION=).*!\1$version!" direnvrc
|
||||
|
||||
|
|
@ -24,6 +35,32 @@ sed -i README.md templates/flake/.envrc \
|
|||
-e 's?\( ! nix_direnv_version \)[0-9.]\+\(; \)?\1'"${version}"'\2?'
|
||||
git add README.md direnvrc templates/flake/.envrc default.nix
|
||||
git commit -m "bump version ${version}"
|
||||
git tag -e "${version}"
|
||||
git tag "${version}"
|
||||
git branch -D "release-${version}" || true
|
||||
git checkout -b "release-${version}"
|
||||
git push origin --force "release-${version}"
|
||||
gh pr create \
|
||||
--base master \
|
||||
--head "release-${version}" \
|
||||
--title "Release ${version}" \
|
||||
--body "Release ${version} of nix-direnv"
|
||||
|
||||
echo "now run 'git push --tags origin master && ./scripts/update-checksum.sh'"
|
||||
gh pr merge --auto "release-${version}"
|
||||
|
||||
waitForPr "release-${version}"
|
||||
git push origin "$version"
|
||||
|
||||
sha256=$(direnv fetchurl "https://raw.githubusercontent.com/nix-community/nix-direnv/${version}/direnvrc" | grep -m1 -o 'sha256-.*')
|
||||
sed -i README.md templates/flake/.envrc -e "s!sha256-.*!${sha256}\"!"
|
||||
git add README.md templates/flake/.envrc
|
||||
git commit -m "update fetchurl checksum"
|
||||
git push origin --force "release-${version}"
|
||||
gh pr create \
|
||||
--base master \
|
||||
--head "release-${version}" \
|
||||
--title "Update checksums for release ${version} of nix-direnv" \
|
||||
--body "Update checksums for release ${version} of nix-direnv"
|
||||
gh pr merge --auto "release-${version}"
|
||||
waitForPr "release-${version}"
|
||||
|
||||
echo "You can now create a release at https://github.com/nix-community/nix-direnv/releases for version ${version}"
|
||||
|
|
|
|||
|
|
@ -1,14 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
|
||||
cd "$SCRIPT_DIR/.."
|
||||
|
||||
tag=$(git describe --tags | cut -d- -f1)
|
||||
sha256=$(direnv fetchurl "https://raw.githubusercontent.com/nix-community/nix-direnv/${tag}/direnvrc" | grep -m1 -o 'sha256-.*')
|
||||
|
||||
sed -i README.md templates/flake/.envrc -e "s!sha256-.*!${sha256}\"!"
|
||||
git add README.md templates/flake/.envrc
|
||||
git commit -m "update fetchurl checksum"
|
||||
echo "Now run: git push"
|
||||
echo "And create a release at https://github.com/nix-community/nix-direnv/releases for version ${tag}"
|
||||
Loading…
Add table
Add a link
Reference in a new issue