diff --git a/.gitmodules b/.gitmodules index ea15d10..e304260 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ [submodule "data/metadata"] path = data/metadata url = https://github.com/haskell/ghcup-metadata.git - branch = ghcup-0.1.17.5 + branch = master diff --git a/data/metadata b/data/metadata index 80b61ee..b1d0995 160000 --- a/data/metadata +++ b/data/metadata @@ -1 +1 @@ -Subproject commit 80b61ee4b7319bd8591f2510f44404cd821eff4c +Subproject commit b1d09952210376cabc38c55bcf52cb251f749749 diff --git a/docs/dev.md b/docs/dev.md index a63d6ff..7fa00fb 100644 --- a/docs/dev.md +++ b/docs/dev.md @@ -94,21 +94,25 @@ Every subcommand now lives in its own module under [GHCup.OptParse.MyCommand](ht 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 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-.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-.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 diff --git a/scripts/bootstrap/bootstrap-haskell b/scripts/bootstrap/bootstrap-haskell index aae90d1..2b32175 100755 --- a/scripts/bootstrap/bootstrap-haskell +++ b/scripts/bootstrap/bootstrap-haskell @@ -25,7 +25,7 @@ plat="$(uname -s)" arch=$(uname -m) -ghver="0.1.17.4" +ghver="0.1.17.5" base_url="https://downloads.haskell.org/~ghcup" export GHCUP_SKIP_UPDATE_CHECK=yes diff --git a/scripts/pull_release_artifacts.sh b/scripts/releasing/pull_release_artifacts.sh old mode 100644 new mode 100755 similarity index 100% rename from scripts/pull_release_artifacts.sh rename to scripts/releasing/pull_release_artifacts.sh diff --git a/scripts/update-sftp.sh b/scripts/releasing/sftp-symlink-artifacts.sh similarity index 52% rename from scripts/update-sftp.sh rename to scripts/releasing/sftp-symlink-artifacts.sh index 1f2f554..fa06b05 100755 --- a/scripts/update-sftp.sh +++ b/scripts/releasing/sftp-symlink-artifacts.sh @@ -2,7 +2,6 @@ url=$1 ver=$2 -artifacts_dir=$3 die() { (>&2 printf "%s\\n" "$1") @@ -11,38 +10,10 @@ die() { [ -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 <&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 <