Path: blob/develop/scripts/uploadReleaseCandidate
1 views
#!/usr/bin/env bash
set -euo pipefail
DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )
. "$DIR/scripts/common-setup.sh"
HACKAGE_USER="$1"
PKG="$2"
PKG="$(package_invocation "(import $DIR {}).ghc" "$PKG")"
RC="$(nix-build --no-out-link $NIXOPTS -E "(import $DIR/nix-utils/hackage {}).mkReleaseCandidate $PKG")"
PKGNAME="$(cat "$RC/pkgname")"
echo -n "Hackage password: "
read -s password
echo
HACKAGE_CREDS="$HACKAGE_USER:$password"
curl -K <(echo "-u $HACKAGE_CREDS") -F package=@"$RC/$PKGNAME.tar.gz" "https://hackage.haskell.org/packages/candidates/"
curl -X PUT -K <(echo "-u $HACKAGE_CREDS") -H 'Content-Type: application/x-tar' -H 'Content-Encoding: gzip' --data-binary @"$RC/$PKGNAME-docs.tar.gz" "https://hackage.haskell.org/package/$PKGNAME/candidate/docs"
echo "Candidate uploaded to https://hackage.haskell.org/package/$PKGNAME/candidate"