#!/usr/bin/env nix #! nix shell nixpkgs#bash nixpkgs#gnused --command bash set -euo 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 exit 1 fi if [[ "$(git symbolic-ref --short HEAD)" != "main" ]]; then echo "must be on main branch" >&2 exit 1 fi # ensure we are up-to-date uncommitted_changes=$(git diff --compact-summary) if [[ -n $uncommitted_changes ]]; then echo -e "There are uncommitted changes, exiting:\n${uncommitted_changes}" >&2 exit 1 fi git pull git@github.com:nix-community/nixos-anywhere main unpushed_commits=$(git log --format=oneline origin/main..main) if [[ $unpushed_commits != "" ]]; then echo -e "\nThere are unpushed changes, exiting:\n$unpushed_commits" >&2 exit 1 fi sed -i -e "s!version = \".*\";!version = \"${version}\";!" src/default.nix git add src/default.nix nix-shell -p nix-fast-build --command "nix-fast-build --eval-workers 2" git commit -m "bump version ${version}" git tag "${version}" echo "now run 'git push --tags origin main'"