From 72c3cffc88cbd98d8f05adf46acdbcc80f04da8c Mon Sep 17 00:00:00 2001 From: Paul David Date: Fri, 4 May 2018 13:28:30 +1000 Subject: [PATCH 1/4] Add the public key for verification of releases. --- static/delivery-engineers.pub.asc | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 static/delivery-engineers.pub.asc diff --git a/static/delivery-engineers.pub.asc b/static/delivery-engineers.pub.asc new file mode 100644 index 0000000..6b942c8 --- /dev/null +++ b/static/delivery-engineers.pub.asc @@ -0,0 +1,31 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQENBFrrsf8BCADPHrfWNGz4QuQfnFMShGo4vhNmQQPySy/Bollql5NcqHXRWRP9 +iVjGbdIxweJUCTMydzbmVH9xcPnhSGJ4CSi/EbDJZBfniNx3fcVD1I+NJDRpqp0i +zzd5arRkub4PmZ4LFASQTCghzY+7+oCLm9UygMtbtb9b+xCCL/KtBMKtGF0BagIM +LnWucvTC7rKblT2lfX+Ggh+V0KhbCJc+vOJld/J2Pq2tx9ilo1WDnibk0/bsy8N9 +FcJDo0Rq3+Y43cTYh5K4wrN75AxqHuYXbqKF8yAVqorC4mVwPwaMY9qsmy2efPJs +vVDyeosbPw/b02hHZHS3sj0WlL2lCcr2tw/hABEBAAG0QVJlZGJ1YmJsZSBEZWxp +dmVyeSBFbmdpbmVlcmluZyA8ZGVsaXZlcnktZW5naW5lZXJzQHJlZGJ1YmJsZS5j +b20+iQFUBBMBCgA+FiEErMHw74z0yJnSRdpknMZpd/XEdUEFAlrrsf8CGwMFCQPC +ZwAFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQnMZpd/XEdUHz2Qf9Gc/kFn60 +bSzILYMyP04Nkx9yXW7kVrrhkeewjYwTS28Fx9F018SOlXRoh8Ao1e9l/fT+uEj3 +BM1ncR/TqdIFUppcZzw0bzpZB2Fh+G+IF4Jo25cDmsOJGQd3OZKKdZktshubCisc +f/ptachRsGIbVWcdAqKZzO6BUyNsPXAKMO3cBYDH15XMs120A7hkEgB8d1km9G6L +KiqiM17RGFOYqTLrM2AiFVGhxo8F6S3adwrVSWatxSUaq7dES/AloSvTn/1dO7Ia ++9V/CCuBPwroNvy7i1qBunWP3Y9o9wj4j2OE9EBGdGhXAX9MNKxNkInxJ4KPAeXP +yVooClJNduFADLkBDQRa67H/AQgArnNWEZQNQhon45Omzwax9bAsFq8LyAzR23oO +v8Unf72DH/KfnMJobCeLsbnZ4Z83YtglU3do//ebXFGL9zQSt2k0pLUyDvfrcvaK +JPaWtibymgCIQDXy3xuQB5BJJZ+1+E4Namz8Hu0oPanxkQrgqqJ2Nk/ar5vOhQGM +F9fN1a2eJXSdrqXtMfibGL+Flkjti9lLpyyRbKEtKN0L87qUOgc8Pp2uT1ciB+bR +fHdgvvAnTm+wvvRH9FrL2zCU9p7XXp4C3U4gMsrpH4tlT9wKX/uo0LJ1DwXyV0k3 +LmhgetfksXV3DcVkhaLBFmHEQ8MVxLcAPpHC6wewMOQvaBBkpwARAQABiQE8BBgB +CgAmFiEErMHw74z0yJnSRdpknMZpd/XEdUEFAlrrsf8CGwwFCQPCZwAACgkQnMZp +d/XEdUFJBwgAkowdyoU8doFV5rt1xzir4E9loojtd01neOrDWhaVumvaH3d351nR +AIsEetoWnp8S4lPzyk8BVMrAp4JpI9fGKDBXOLXII30pdZiLfmoEC2Z+aD4xesn6 +F4fZto/CPC0MIDS7Nzm9bIedi6UFp7G5Swwcs/6K9gPYaGXwyGE2GNyfIe5fbrdO +lR7lIYPdAsKj15lgilDACdTcpoweJrBpdUdaDXFXnN2IlDghZDQlkJ93XoO6g2e2 +0lY527MnJ5OY1o2HrbmIYXYNjiq2b2tDWX9OPk+QhNidPjNhUGdAbF6sS+ABUeyl +L+CC0B3Gmf443hR2fuUJHocmYSjVqgM/Mg== +=LY3W +-----END PGP PUBLIC KEY BLOCK----- From d197aac29712de60e63ad086c97224ad8b926bf3 Mon Sep 17 00:00:00 2001 From: Paul David Date: Fri, 4 May 2018 13:35:16 +1000 Subject: [PATCH 2/4] Deploy the deb package to our repo after generating. --- Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Makefile b/Makefile index 9228d52..9ee781a 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,6 @@ VERSION ?= 1.2.0 GIT_HASH = $(shell git rev-parse --short HEAD) +DELIVERY_ENGINEERING_GPG_KEY = 9CC66977F5C47541 .PHONY: vendor test install @@ -19,3 +20,4 @@ release: git tag -a "v${VERSION}" -m "Releasing version ${VERSION}" git push --tags goreleaser --rm-dist + deb-s3 upload --s3-region=ap-southeast-2 --bucket=redbubble-deb-repository --sign=${DELIVERY_ENGINEERING_GPG_KEY} bin/yak_${VERSION}_linux_amd64.deb From 8d183f93e943225dc2719a7225cee63a0d8ab9e0 Mon Sep 17 00:00:00 2001 From: Paul David Date: Fri, 4 May 2018 13:52:03 +1000 Subject: [PATCH 3/4] Update README to point to new shiny apt repository! --- README.md | 66 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 36 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index fb44c5e..de1180b 100644 --- a/README.md +++ b/README.md @@ -22,45 +22,33 @@ brew install yak This will also put ZSH and Bash completions in the right spot; they should be usable next time you reload your shell config. -#### Ubuntu/Debian (`deb` package) +#### Ubuntu/Debian APT repository -Download the DEB package from the [latest release](https://github.com/redbubble/yak/releases/latest) page. +`yak` can be installed from our APT repo. This should get you up and +running: -You can then install it with - -``` -sudo apt install -``` - -or - -``` -sudo dpkg -i +```sh +sudo apt install apt-transport-https curl gnupg2 +# This is the Redbubble GPG key, to verify releases: +curl https://redbubble-deb-repository.s3-ap-southeast-2.amazonaws.com/delivery-engineers.pub.asc | sudo apt-key add - +echo "deb https://redbubble-deb-repository.s3-ap-southeast-2.amazonaws.com/ stable main" > /etc/apt/sources.list.d/yak.list +sudo apt update +sudo apt install yak ``` -#### RPM package +#### Standalone DEB/RPM packages -Download the RPM package from the [latest release](https://github.com/redbubble/yak/releases/latest) page. +We generate Deb and RPM packages as part of our release. -You can then install it with - -``` -sudo dnf install -``` +Download the package appropriate for your distro from the [latest +release](https://github.com/redbubble/yak/releases/latest) page. +Unfortunately, this won't give you nice automatic updates. #### A note about completions We've seen issues using tab-completion on older versions of ZSH. It seems that version 5.1 or newer will work correctly. -#### Go Get - -This should only really be used if you want to hack on `yak`. If you want to do that: - -``` -go get -u github.com/redbubble/yak - ``` - #### Manually Download the [latest release](https://github.com/yak/releases/latest) for your architecture. The `yak` executable is statically linked, @@ -177,18 +165,36 @@ yak prod [] ## Development +### Go Get + +To hack on `yak`, you'll want to get a copy of the source. To do +that: + +``` +go get -u github.com/redbubble/yak + ``` + ### Installing dependencies -You'll need the [dep](https://github.com/golang/dep) tool (if you're on macOS, `brew install dep`. Linux is a bit tricker; see the -[dep README](https://github.com/golang/dep#installation) for details). +You'll need the [dep](https://github.com/golang/dep) tool (if you're +on macOS, `brew install dep`. Linux is a bit tricker; see the [dep +README](https://github.com/golang/dep#installation) for details). -Then run: +Then run (inside your `$GOPATH/src/github.com/redbubble/yak` directory): ``` make vendor ``` This will install all your dependencies into the `vendor` directory. +If you want to do releases, you'll also want the `deb-s3` package. +You'll also want `gnupg2` to be able to sign releases, but i'll leave +installation of that up to you. + +```sh +gem install deb-s3 +``` + ### Running locally The `make install` target will compile the application and 'install' it into your `$GOPATH`. From 8fed075c8b69e4241b3de40d501c38923e489958 Mon Sep 17 00:00:00 2001 From: Paul David Date: Fri, 4 May 2018 13:52:47 +1000 Subject: [PATCH 4/4] Bump to version 1.2.1 --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 9ee781a..7647505 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -VERSION ?= 1.2.0 +VERSION ?= 1.2.1 GIT_HASH = $(shell git rev-parse --short HEAD) DELIVERY_ENGINEERING_GPG_KEY = 9CC66977F5C47541