Skip to content

Commit ab8e6d6

Browse files
committed
feat: Add hackage_upload script used by Haskell GH actions.
1 parent 19ddbe7 commit ab8e6d6

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

bin/hackage_upload

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#!/bin/sh
2+
3+
set -eu
4+
5+
if [ "${1:-}" = "candidate" ]; then
6+
CANDIDATE="candidate"
7+
CANDIDATES="candidates"
8+
else
9+
CANDIDATE=""
10+
CANDIDATES=""
11+
fi
12+
13+
cabal sdist
14+
PACKAGE=$(grep '^name:' *.cabal | awk '{print $2}')
15+
VERSION=$(grep '^version:' *.cabal | awk '{print $2}')
16+
curl --header "Authorization: X-ApiKey $API_TOKEN_HACKAGE" \
17+
-F "package=@dist-newstyle/sdist/$PACKAGE-$VERSION.tar.gz" \
18+
"https://hackage.haskell.org/packages$CANDIDATES"
19+
curl --header "Authorization: X-ApiKey $API_TOKEN_HACKAGE" \
20+
-X PUT \
21+
-H "Content-Type: application/x-tar" \
22+
-H "Content-Encoding: gzip" \
23+
--data-binary "@dist-newstyle/$PACKAGE-$VERSION-docs.tar.gz" \
24+
"https://hackage.haskell.org/package/$PACKAGE-$VERSION$CANDIDATE/docs"

0 commit comments

Comments
 (0)