Finalize release
This commit is contained in:
parent
08ec1bd923
commit
dc635a6601
2
.gitmodules
vendored
2
.gitmodules
vendored
@ -1,4 +1,4 @@
|
|||||||
[submodule "data/metadata"]
|
[submodule "data/metadata"]
|
||||||
path = data/metadata
|
path = data/metadata
|
||||||
url = https://github.com/haskell/ghcup-metadata.git
|
url = https://github.com/haskell/ghcup-metadata.git
|
||||||
branch = ghcup-0.1.17.5
|
branch = master
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 80b61ee4b7319bd8591f2510f44404cd821eff4c
|
Subproject commit b1d09952210376cabc38c55bcf52cb251f749749
|
20
docs/dev.md
20
docs/dev.md
@ -94,21 +94,25 @@ Every subcommand now lives in its own module under [GHCup.OptParse.MyCommand](ht
|
|||||||
|
|
||||||
3. Add ChangeLog entry
|
3. Add ChangeLog entry
|
||||||
|
|
||||||
4. Commit and git push with tag. Wait for tests to succeed and release artifacts to build.
|
4. If a new ghcup yaml version is needed, create one at [ghcup-metadata repo](https://github.com/haskell/ghcup-metadata) and push to a temporary release branch, then update the `data/metadata` submodule in ghcup-hs repo to that branch, so CI can pass
|
||||||
|
|
||||||
5. Download release artifacts and upload them `downloads.haskell.org/~ghcup` along with checksum files (`sha256sum --tag * > SHA256SUMS && gpg --detach-sign -u <your-email> SHA256SUMS`)
|
5. Commit and git push with tag. Wait for tests to succeed and release artifacts to build.
|
||||||
|
|
||||||
6. Add ghcup release artifacts to ALL yaml files, see [ghcup-metadata repo](https://github.com/haskell/ghcup-metadata)
|
6. Download release artifacts and upload them `downloads.haskell.org/~ghcup` along with checksum files (also check `scripts/releasing/pull_release_artifacts.sh` and `scripts/releasing/sftp-upload-artifacts.sh`)
|
||||||
|
|
||||||
7. Upload the final `ghcup-<ver>.yaml` (and a detached GPG sig of it) to `webhost.haskell.org/ghcup/data/` (for yaml versions <= 0.0.6) as well as [https://github.com/haskell/ghcup-metadata](https://github.com/haskell/ghcup-metadata) (for all versions).
|
7. Add ghcup release artifacts to ALL yaml files, see [ghcup-metadata repo](https://github.com/haskell/ghcup-metadata)
|
||||||
|
|
||||||
8. Update version in `scripts/bootstrap/bootstrap-haskell` (`ghver` variable at the top of the script)
|
8. Upload the final `ghcup-<ver>.yaml` (and a detached GPG sig of it) to `webhost.haskell.org/ghcup/data/` (for yaml versions <= 0.0.6) as well as [https://github.com/haskell/ghcup-metadata](https://github.com/haskell/ghcup-metadata) (for all versions).
|
||||||
|
|
||||||
9. Upload `scripts/bootstrap/bootstrap-haskell` and `scripts/bootstrap/bootstrap-haskell.ps1` to `webhost.haskell.org/ghcup/sh/`
|
9. Update version in `scripts/bootstrap/bootstrap-haskell` (`ghver` variable at the top of the script)
|
||||||
|
|
||||||
10. Update the top-level ghcup symlinks at `downloads.haskell.org/~ghcup` (see `scripts/update-sftp.sh`)
|
10. Upload `scripts/bootstrap/bootstrap-haskell` and `scripts/bootstrap/bootstrap-haskell.ps1` to `webhost.haskell.org/ghcup/sh/`
|
||||||
|
|
||||||
11. Post on reddit/discourse/etc. and collect rewards
|
11. Update the top-level ghcup symlinks at `downloads.haskell.org/~ghcup` (see `scripts/releasing/sftp-symlink-artifacts.sh`)
|
||||||
|
|
||||||
|
12. Update the `data/metadata` submodule in ghcup-hs repo to master
|
||||||
|
|
||||||
|
13. Post on reddit/discourse/etc. and collect rewards
|
||||||
|
|
||||||
# Documentation
|
# Documentation
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
plat="$(uname -s)"
|
plat="$(uname -s)"
|
||||||
arch=$(uname -m)
|
arch=$(uname -m)
|
||||||
ghver="0.1.17.4"
|
ghver="0.1.17.5"
|
||||||
base_url="https://downloads.haskell.org/~ghcup"
|
base_url="https://downloads.haskell.org/~ghcup"
|
||||||
|
|
||||||
export GHCUP_SKIP_UPDATE_CHECK=yes
|
export GHCUP_SKIP_UPDATE_CHECK=yes
|
||||||
|
0
scripts/pull_release_artifacts.sh → scripts/releasing/pull_release_artifacts.sh
Normal file → Executable file
0
scripts/pull_release_artifacts.sh → scripts/releasing/pull_release_artifacts.sh
Normal file → Executable file
@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
url=$1
|
url=$1
|
||||||
ver=$2
|
ver=$2
|
||||||
artifacts_dir=$3
|
|
||||||
|
|
||||||
die() {
|
die() {
|
||||||
(>&2 printf "%s\\n" "$1")
|
(>&2 printf "%s\\n" "$1")
|
||||||
@ -11,38 +10,10 @@ die() {
|
|||||||
|
|
||||||
[ -z $url ] && die "no url set"
|
[ -z $url ] && die "no url set"
|
||||||
[ -z $ver ] && die "no version set"
|
[ -z $ver ] && die "no version set"
|
||||||
[ -z "${artifacts_dir}" ] && die "artifacts_dir not set"
|
|
||||||
[ -e "${artifacts_dir}" ] && die "artifacts_dir \"${artifacts_dir}\" does not exist"
|
|
||||||
|
|
||||||
cd "${artifacts_dir}"
|
|
||||||
|
|
||||||
sftp $url <<EOF
|
sftp $url <<EOF
|
||||||
cd ghcup
|
cd ghcup
|
||||||
|
|
||||||
mkdir ${ver}
|
|
||||||
cd ${ver}
|
|
||||||
put SHA256SUMS
|
|
||||||
put SHA256SUMS.sig
|
|
||||||
put aarch64-apple-darwin-ghcup-${ver}
|
|
||||||
put aarch64-apple-darwin-ghcup-${ver}.sig
|
|
||||||
put aarch64-linux-ghcup-${ver}
|
|
||||||
put aarch64-linux-ghcup-${ver}.sig
|
|
||||||
put armv7-linux-ghcup-${ver}
|
|
||||||
put armv7-linux-ghcup-${ver}.sig
|
|
||||||
put i386-linux-ghcup-${ver}
|
|
||||||
put i386-linux-ghcup-${ver}.sig
|
|
||||||
put x86_64-apple-darwin-ghcup-${ver}
|
|
||||||
put x86_64-apple-darwin-ghcup-${ver}.sig
|
|
||||||
put x86_64-freebsd12-ghcup-${ver}
|
|
||||||
put x86_64-freebsd12-ghcup-${ver}.sig
|
|
||||||
put x86_64-freebsd13-ghcup-${ver}
|
|
||||||
put x86_64-freebsd13-ghcup-${ver}.sig
|
|
||||||
put x86_64-linux-ghcup-${ver}
|
|
||||||
put x86_64-linux-ghcup-${ver}.sig
|
|
||||||
put x86_64-mingw64-ghcup-${ver}.exe
|
|
||||||
put x86_64-mingw64-ghcup-${ver}.exe.sig
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
rm aarch64-apple-darwin-ghcup
|
rm aarch64-apple-darwin-ghcup
|
||||||
rm aarch64-linux-ghcup
|
rm aarch64-linux-ghcup
|
||||||
rm armv7-linux-ghcup
|
rm armv7-linux-ghcup
|
||||||
@ -66,5 +37,3 @@ EOF
|
|||||||
|
|
||||||
curl -X PURGE https://downloads.haskell.org/~ghcup/
|
curl -X PURGE https://downloads.haskell.org/~ghcup/
|
||||||
curl -X PURGE https://downloads.haskell.org/ghcup/
|
curl -X PURGE https://downloads.haskell.org/ghcup/
|
||||||
curl -X PURGE https://downloads.haskell.org/~ghcup/${ver}/
|
|
||||||
curl -X PURGE https://downloads.haskell.org/ghcup/${ver}/
|
|
47
scripts/releasing/sftp-upload-artifacts.sh
Executable file
47
scripts/releasing/sftp-upload-artifacts.sh
Executable file
@ -0,0 +1,47 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
url=$1
|
||||||
|
ver=$2
|
||||||
|
artifacts_dir=$3
|
||||||
|
|
||||||
|
die() {
|
||||||
|
(>&2 printf "%s\\n" "$1")
|
||||||
|
exit 2
|
||||||
|
}
|
||||||
|
|
||||||
|
[ -z $url ] && die "no url set"
|
||||||
|
[ -z $ver ] && die "no version set"
|
||||||
|
[ -z "${artifacts_dir}" ] && die "artifacts_dir not set"
|
||||||
|
[ -e "${artifacts_dir}" ] || die "artifacts_dir \"${artifacts_dir}\" does not exist"
|
||||||
|
|
||||||
|
cd "${artifacts_dir}"
|
||||||
|
|
||||||
|
sftp $url <<EOF
|
||||||
|
cd ghcup
|
||||||
|
|
||||||
|
mkdir ${ver}
|
||||||
|
cd ${ver}
|
||||||
|
put SHA256SUMS
|
||||||
|
put SHA256SUMS.sig
|
||||||
|
put aarch64-apple-darwin-ghcup-${ver}
|
||||||
|
put aarch64-apple-darwin-ghcup-${ver}.sig
|
||||||
|
put aarch64-linux-ghcup-${ver}
|
||||||
|
put aarch64-linux-ghcup-${ver}.sig
|
||||||
|
put armv7-linux-ghcup-${ver}
|
||||||
|
put armv7-linux-ghcup-${ver}.sig
|
||||||
|
put i386-linux-ghcup-${ver}
|
||||||
|
put i386-linux-ghcup-${ver}.sig
|
||||||
|
put x86_64-apple-darwin-ghcup-${ver}
|
||||||
|
put x86_64-apple-darwin-ghcup-${ver}.sig
|
||||||
|
put x86_64-freebsd12-ghcup-${ver}
|
||||||
|
put x86_64-freebsd12-ghcup-${ver}.sig
|
||||||
|
put x86_64-freebsd13-ghcup-${ver}
|
||||||
|
put x86_64-freebsd13-ghcup-${ver}.sig
|
||||||
|
put x86_64-linux-ghcup-${ver}
|
||||||
|
put x86_64-linux-ghcup-${ver}.sig
|
||||||
|
put x86_64-mingw64-ghcup-${ver}.exe
|
||||||
|
put x86_64-mingw64-ghcup-${ver}.exe.sig
|
||||||
|
EOF
|
||||||
|
|
||||||
|
curl -X PURGE https://downloads.haskell.org/~ghcup/${ver}/
|
||||||
|
curl -X PURGE https://downloads.haskell.org/ghcup/${ver}/
|
Loading…
Reference in New Issue
Block a user