Skip to content

Commit be9a4db

Browse files
committed
Automate release
#145
1 parent e9735d8 commit be9a4db

File tree

2 files changed

+71
-7
lines changed

2 files changed

+71
-7
lines changed

.travis.yml

Lines changed: 63 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -158,18 +158,74 @@ before_deploy:
158158
elif [[ "$TRAVIS_OS_NAME" = "osx" ]]; then
159159
stack clean --no-terminal
160160
stack build --no-terminal --copy-bins --flag nirum:static
161-
cp "$(stack path --local-bin-path)/nirum" "$NIGHTLY_BINARY_PATH"
161+
ls -al "$(stack path --local-bin)/nirum"
162+
cp "$(stack path --local-bin)/nirum" "$NIGHTLY_BINARY_PATH"
163+
ls -al /tmp/nirum-build
162164
fi
165+
ls -al "$NIGHTLY_BINARY_PATH"
163166
164167
deploy:
168+
169+
# Nightly builds
165170
- provider: s3
171+
on: { branch: master }
172+
skip_cleanup: yes
166173
local_dir: /tmp/nirum-build
167-
on:
168-
branch: master
169174
upload-dir: travis-builds
170175
acl: public_read
171176
bucket: nightly-builds.nirum.org
172-
access_key_id:
173-
secure: "lqNHSWpskIWHBZdeUsT1LpUBnDv88vEdSwCX2vY+3hbspB2dEoeyxrQ3ObyHBvxizuxHC+wBKdCfpEUj9CuZTSZDuS0gbuks46IH5az5SmFFDRk/pq+5sSBte070YQfrJCEgFTiEww8LZCVjjySEqez0f1pQV4ZSmy8u8ME2PzF1jQdGZIUB/e3v7JAjhK3nKh2kt2YnEdscHngbmRaDkcpEmbia8fP9a9sRc9n4dG5m0/3vtuZJcUqrJzdqMfluwz9lOSWIjSCE3iClSrH0xrS1b4wIgEa2j5iHgayRwQ2MZN41+nhs+jG18FkSyHqdtZwLGZu8UdW7dQqIaPkk26yFBpHvKESJghh4HGKiijcVw4RNJmgJDpdmCrPU1awAvGdT8CXcbwr/9sqPfKgr1F79xn/7PDe6Nd3GXVRJRkV+g7GhSOCFcjBvEzbq4jmRI8Oo4GnyU0H3Kmgk2OyU0Yhq413cLEVcswyDBSjK+ItQQ/wQZgWL1+Vjh/MQbkESRpkRJK6Oq2y0nYhG/ajIXDuva623MNSaLU42/wku8r//bdbsguNEyncNzWcDwtfGBdyOD8GTLKtJD1tCSTH68b7isDjI/MDmCIay9hgCk/l8pBZgn89jLUDfiqH/ZgQduwKPYUUPUuBUv4YQg7bHeZk2NQSWWGsAfpZ5v9L1qUw="
174-
secret_access_key:
175-
secure: "HUxq2kPTnu3rSq+T7lZoUY4LsvIHjMcapxi5R50gE6pKUIJqJ6ekwB0fP6ge6S6ea3chpAi06oy7tGB4IiTtjUX6L+gOkrFACrWQqVsOvbyMh79oRTVPLY7RTXcDhSmSesChP06oxG2k17u7Agdf5jNfaVH8aOH4xAuBaAYWPTqkIwerGqQHj7oHUGImtu0FDS1ZxL28XiGjONoT2cpoaYT5pzV8KlETe5+ZAr/mxQYHgxt8wzev0pJY6UeBPARiPa1+txEK36AMrHEQHMInZcqgds05T0qX+UF326xlLuFP7soYGRh+mfnvCEx3+hcneX8wJYbaUwpmDrbcCcm91+TUlEWWV3xIXmGHedi0pIvgzH7vapOdzox6MpHGoLJsrRXpHEhMwLMcq0tMbyjcTQjOba2VKRg8hqUBT57oI9Hgpp8wdFnH5EV5GPSOhZ5s4w+PglifEqtqmYHA7PNc5I5iHLXC85UKee+FMQF7hp4heLVQZx541FL7eMYZo2bTOyxTEGMjoxemwN5yHPQ33k7VOKvYLHNX0SxasQme8DwOZbj1ozsWdSPqyArisW0CqXyjFpIm5hPx+gBH1gRXp0hJoyYRBKTrfTxPzFsO5Sf0VfDJC/1UZmzgNULjFdZUdv9/x7O4+Euo1wy/kcngmYbOqqBD3zKm8XcDqwkoAA4="
177+
access_key_id: "$AWS_ACCESS_KEY_ID"
178+
secret_access_key: "$AWS_SECRET_ACCESS_KEY"
179+
180+
# GitHub Releases
181+
- provider: releases
182+
on: { tags: yes }
183+
skip_cleanup: yes
184+
api_key: "$GITHUB_TOKEN"
185+
file_glob: yes
186+
file: /tmp/nirum-build/*
187+
name: "$TRAVIS_TAG"
188+
189+
after_deploy: |
190+
[[ "$TRAVIS_TAG" != "" && "$TRAVIS_OS_NAME" = "linux" ]] || exit 0
191+
192+
# Give the GitHub release a proper description
193+
export GITHUB_USER="${TRAVIS_REPO_SLUG%%/[^/]*}" \
194+
GITHUB_REPO="${TRAVIS_REPO_SLUG#[^/]*/}"
195+
curl -L -o "$HOME/.local/bin/submark" \
196+
https://github.com/dahlia/submark/releases/download/0.2.0/submark-linux-x86_64
197+
chmod +x "$HOME/.local/bin/submark"
198+
submark -o /tmp/release-note -i --h2 "Version $TRAVIS_TAG" -O CHANGES.md
199+
pushd /tmp
200+
curl -LO \
201+
https://github.com/aktau/github-release/releases/download/v0.7.2/linux-amd64-github-release.tar.bz2
202+
tar xvfj linux-amd64-github-release.tar.bz2
203+
mv bin/linux/amd64/github-release "$HOME/.local/bin"
204+
if [[ "$TRAVIS_TAG" = 0.* ]]; then
205+
pre_release="--pre-release"
206+
fi
207+
github-release edit \
208+
--tag "$TRAVIS_TAG" \
209+
--name "Nirum $TRAVIS_TAG" \
210+
--description "$(cat /tmp/release-note)" \
211+
$pre_release
212+
popd
213+
214+
# sdist
215+
sed -i 's/^- -Werror$//g' package.yaml # Hackage disallows -Werror
216+
stack --no-terminal sdist --ignore-check
217+
218+
# Upload sdist as well to GitHub Releases
219+
for sdist_file in "$(stack path --dist-dir)"/*.tar.gz; do
220+
github-release upload \
221+
--tag "$TRAVIS_TAG" \
222+
--name "$(basename $sdist_file)" \
223+
--file "$sdist_file"
224+
done
225+
226+
# Upload sdist to Hackage
227+
if [[ "$HACKAGE_USERNAME" != "" && "$HACKAGE_PASSWORD" != "" ]]; then
228+
mkdir -p "$HOME/.stack/upload"
229+
python -c 'import json, os; print(json.dumps({"username": os.environ["HACKAGE_USERNAME"], "password": os.environ["HACKAGE_PASSWORD"]}))' > ~/.stack/upload/credentials.json
230+
stack --no-terminal upload --ignore-check --no-signature .
231+
fi

appveyor.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,3 +63,11 @@ test_script:
6363
artifacts:
6464
- path: nirum-win-x86.exe
6565
- path: nirum-win-x64.exe
66+
deploy:
67+
provider: GitHub
68+
on: { appveyor_repo_tag: true }
69+
auth_token:
70+
secure: FsK3lwqFkPdtwzbjZ8a4gLn1GOT74D9TqBvKveEwFB7hL6pEp/d7cNUTpy91JGGt
71+
release: "$(appveyor_repo_tag_name)"
72+
description: "$(appveyor_repo_tag_name)"
73+
artifact: /.*\.exe/

0 commit comments

Comments
 (0)