diff --git a/scripts/release.sh b/scripts/release.sh index aaea47f..a0e5ad1 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -1,18 +1,30 @@ #!/usr/bin/env bash set -xeu -version=$(perl -ne '/^version: (.+)$/ && print "$1\n"' slack-web.cabal) +cabal_files=(*.cabal) +if [[ ${#cabal_files[@]} != 1 ]]; then + echo "Error: non-1 number of cabal_file" + exit 1 +fi +cabal_file=${cabal_files[0]} +package_name=${cabal_file//.cabal} + +if [[ -e package.yaml ]]; then + hpack --force +fi + +version=$(perl -ne '/^version: (.+)$/ && print "$1\n"' "${cabal_file}" | tr -d ' ') git fetch origin -# Ensure we are on origin/master -[[ $(git rev-parse origin/master) == $(git rev-parse HEAD) ]] || (echo "not up to date"; exit 1) +# Ensure we are on origin/main +[[ $(git rev-parse origin/HEAD) == $(git rev-parse HEAD) ]] || (echo "not up to date"; exit 1) # Verify Nix nix flake check -Lv cabal sdist -sdist="dist-newstyle/sdist/slack-web-${version}.tar.gz" +sdist="dist-newstyle/sdist/$package_name-${version}.tar.gz" tar tf "$sdist" echo -e "\n\nWould you like to release this sdist as $version? Enter the version number if so."