mirror of
https://github.com/nix-community/nix-direnv.git
synced 2025-11-08 11:36:11 +01:00
66 lines
2 KiB
Bash
Executable file
66 lines
2 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
set -eu -o pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
|
|
cd "$SCRIPT_DIR/.."
|
|
|
|
version=${1:-}
|
|
if [[ -z $version ]]; then
|
|
echo "USAGE: $0 version" 2>/dev/null
|
|
exit 1
|
|
fi
|
|
|
|
if [[ "$(git symbolic-ref --short HEAD)" != "master" ]]; then
|
|
echo "must be on master branch" 2>/dev/null
|
|
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
|
|
|
|
sed -i README.md templates/flake/.envrc \
|
|
-e 's!\(nix-direnv/\).*\(/direnvrc\)!\1'"${version}"'\2!' \
|
|
-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 "${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"
|
|
|
|
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}"
|