Finalize release
This commit is contained in:
		
							parent
							
								
									08ec1bd923
								
							
						
					
					
						commit
						dc635a6601
					
				
							
								
								
									
										2
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							| @ -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 | ||||
|  | ||||
| @ -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 | ||||
| 
 | ||||
| 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 | ||||
| 
 | ||||
|  | ||||
| @ -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 | ||||
|  | ||||
							
								
								
									
										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 | ||||
| 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 <<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 | ||||
| cd .. | ||||
| 
 | ||||
| rm aarch64-apple-darwin-ghcup | ||||
| rm aarch64-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/${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