From e4efb039eb9073f870f306fb6e37c5ce5da43776 Mon Sep 17 00:00:00 2001 From: mrferris Date: Sun, 1 Oct 2023 13:59:44 -0400 Subject: [PATCH 1/9] docs: Add pre-release step to deployment docs --- book/src/developers/contributing/releases/release_checklist.md | 1 + 1 file changed, 1 insertion(+) diff --git a/book/src/developers/contributing/releases/release_checklist.md b/book/src/developers/contributing/releases/release_checklist.md index 80942ee38..84a00e29f 100644 --- a/book/src/developers/contributing/releases/release_checklist.md +++ b/book/src/developers/contributing/releases/release_checklist.md @@ -12,6 +12,7 @@ Make sure that version follows [semver](https://semver.org/) rules e.g (`0.2.0-a - In the tag, type out the version number that the new release bumps to. - Github should say "Excellent! This tag will be created from the target when you publish this release." - Click "Generate release notes" +- Select "Set as a pre-release" - Add "Trin " to the beginning of the release title - Add any clarifying information that's helpful about the release From afe3830a58d73cfbc939f312a59f49a4e2e698ab Mon Sep 17 00:00:00 2001 From: mrferris Date: Sun, 1 Oct 2023 14:04:53 -0400 Subject: [PATCH 2/9] docs: Remove redundant github release steps --- .../contributing/releases/release_checklist.md | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/book/src/developers/contributing/releases/release_checklist.md b/book/src/developers/contributing/releases/release_checklist.md index 84a00e29f..797b3398a 100644 --- a/book/src/developers/contributing/releases/release_checklist.md +++ b/book/src/developers/contributing/releases/release_checklist.md @@ -9,7 +9,7 @@ Make sure that version follows [semver](https://semver.org/) rules e.g (`0.2.0-a ## Bump the version - In github, open the page to [create the new release](https://github.com/ethereum/trin/releases/new). -- In the tag, type out the version number that the new release bumps to. +- In the tag, type out the version number that the new release bumps to and select "Create new tag". - Github should say "Excellent! This tag will be created from the target when you publish this release." - Click "Generate release notes" - Select "Set as a pre-release" @@ -38,16 +38,6 @@ We no longer use `make release` because it's not worth the effort to release all * [Raspberry Pi](../build_instructions/raspberry_pi.md) * [Windows](../build_instructions/windows.md) -## Create github release page - -Go to [trin tags](https://github.com/ethereum/trin/tags). - -Find the tag you pushed, and in the `...` menu, select [Create release] - -Write up a high-level overview, and link to the generated release notes. - -Attach the generated binaries. - ## Deploy Push these changes out to the nodes we run in the network. See next page for details. From bd107bced869bd2f1d5543ecf40628018ab1c648 Mon Sep 17 00:00:00 2001 From: mrferris Date: Sun, 1 Oct 2023 14:21:08 -0400 Subject: [PATCH 3/9] docs: Combine pre-release and release pages --- book/src/SUMMARY.md | 1 - .../contributing/releases/prerelease_checklist.md | 9 --------- .../contributing/releases/release_checklist.md | 6 ++++++ 3 files changed, 6 insertions(+), 10 deletions(-) delete mode 100644 book/src/developers/contributing/releases/prerelease_checklist.md diff --git a/book/src/SUMMARY.md b/book/src/SUMMARY.md index 67bae62e4..2e7494dab 100644 --- a/book/src/SUMMARY.md +++ b/book/src/SUMMARY.md @@ -56,7 +56,6 @@ - [Raspberry Pi](developers/contributing/build_instructions/raspberry_pi.md) - [Windows](developers/contributing/build_instructions/windows.md) - [Releases](developers/contributing/releases/README.md) - - [Pre-release checklist](developers/contributing/releases/prerelease_checklist.md) - [Release checklist](developers/contributing/releases/release_checklist.md) - [Deployment](developers/contributing/releases/deployment.md) - [Tests](developers/contributing/tests.md) diff --git a/book/src/developers/contributing/releases/prerelease_checklist.md b/book/src/developers/contributing/releases/prerelease_checklist.md deleted file mode 100644 index 6bfe5eac4..000000000 --- a/book/src/developers/contributing/releases/prerelease_checklist.md +++ /dev/null @@ -1,9 +0,0 @@ -# Pre-release Checklist - -Before running a release, follow these steps. - -## Communicate - -Announce in #trin chat the upcoming release. Aim for a day or more notice, but -announcing a few minutes before releasing is still better than not saying -anything. diff --git a/book/src/developers/contributing/releases/release_checklist.md b/book/src/developers/contributing/releases/release_checklist.md index 797b3398a..8334e7d44 100644 --- a/book/src/developers/contributing/releases/release_checklist.md +++ b/book/src/developers/contributing/releases/release_checklist.md @@ -1,5 +1,11 @@ # Release checklist +## Communicate + +Announce in #trin chat the upcoming release. Aim for a day or more notice, but +announcing a few minutes before releasing is still better than not saying +anything. + ## Choosing a version Make sure that version follows [semver](https://semver.org/) rules e.g (`0.2.0-alpha.3`). From 14df1d8ba0d2e210b2d334c274a27e639a413cfd Mon Sep 17 00:00:00 2001 From: mrferris Date: Sun, 1 Oct 2023 14:39:57 -0400 Subject: [PATCH 4/9] docs: Minor release ToC changes --- book/src/SUMMARY.md | 4 ++-- book/src/developers/contributing/releases/README.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/book/src/SUMMARY.md b/book/src/SUMMARY.md index 2e7494dab..1985737f8 100644 --- a/book/src/SUMMARY.md +++ b/book/src/SUMMARY.md @@ -55,8 +55,8 @@ - [Linux](developers/contributing/build_instructions/linux.md) - [Raspberry Pi](developers/contributing/build_instructions/raspberry_pi.md) - [Windows](developers/contributing/build_instructions/windows.md) - - [Releases](developers/contributing/releases/README.md) - - [Release checklist](developers/contributing/releases/release_checklist.md) + - [Release & Deployment](developers/contributing/releases/README.md) + - [Release](developers/contributing/releases/release_checklist.md) - [Deployment](developers/contributing/releases/deployment.md) - [Tests](developers/contributing/tests.md) - [Book](developers/contributing/book.md) diff --git a/book/src/developers/contributing/releases/README.md b/book/src/developers/contributing/releases/README.md index 2461bdcfe..7d36781f5 100644 --- a/book/src/developers/contributing/releases/README.md +++ b/book/src/developers/contributing/releases/README.md @@ -1,3 +1,3 @@ # Releases -This section covers the process of making a Trin release. \ No newline at end of file +This section covers the process of making & deploying a Trin release. From 909e3d1faa84b768840615798513c7475c93c1c5 Mon Sep 17 00:00:00 2001 From: mrferris Date: Sun, 1 Oct 2023 15:02:45 -0400 Subject: [PATCH 5/9] docs: Specify that release should generally be done before deployment --- book/src/developers/contributing/releases/deployment.md | 1 + 1 file changed, 1 insertion(+) diff --git a/book/src/developers/contributing/releases/deployment.md b/book/src/developers/contributing/releases/deployment.md index 6e83c53ab..646d5cb85 100644 --- a/book/src/developers/contributing/releases/deployment.md +++ b/book/src/developers/contributing/releases/deployment.md @@ -26,6 +26,7 @@ sudo apt install ansible-core ## Each Deployment ### Prepare +- Generally we want to cut a new release before deployment, see previous page for instructions. - Announce in Discord #trin that you're about to run the deployment - Make sure to schedule plenty of time to react to deployment issues From 243f0f2c07d7811fa25d4ce33fda02b34572db18 Mon Sep 17 00:00:00 2001 From: mrferris Date: Sun, 1 Oct 2023 15:03:41 -0400 Subject: [PATCH 6/9] docs: Remove unused versioning file --- book/src/developers/contributing/releases/versioning.md | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 book/src/developers/contributing/releases/versioning.md diff --git a/book/src/developers/contributing/releases/versioning.md b/book/src/developers/contributing/releases/versioning.md deleted file mode 100644 index f9a42a9bc..000000000 --- a/book/src/developers/contributing/releases/versioning.md +++ /dev/null @@ -1,5 +0,0 @@ -# Versioning - -Make sure that version follows [semver](https://semver.org/) rules e.g (`0.2.0-alpha`). - -**For the time being, ALWAYS specify the `-alpha` suffix.** From 1419eef0ccdc58988670f5bd70c51567239a15f4 Mon Sep 17 00:00:00 2001 From: mrferris Date: Sun, 1 Oct 2023 15:22:13 -0400 Subject: [PATCH 7/9] docs: Minor pre-deployment step wording & organizing --- .../contributing/releases/deployment.md | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/book/src/developers/contributing/releases/deployment.md b/book/src/developers/contributing/releases/deployment.md index 646d5cb85..394664717 100644 --- a/book/src/developers/contributing/releases/deployment.md +++ b/book/src/developers/contributing/releases/deployment.md @@ -2,15 +2,17 @@ ## First time Setup - Get access to cluster repo (add person to @trin-deployments) -- Download cluster repo: -```shell= -git clone git@github.com:ethereum/cluster.git -cd cluster -python3 -m venv venv -. venv/bin/activate -pip install ansible -sudo apt install ansible-core -``` +- `git clone` the cluster repo: https://github.com/ethereum/cluster.git +- Install dependencies within `cluster` virtualenv: + ```shell= + cd cluster + python3 -m venv venv + . venv/bin/activate + pip install ansible + sudo apt install ansible-core + ``` + On mac you can do `brew install ansible` instead of `apt`. + - [Install keybase](https://keybase.io/docs/the_app/install_linux) - Publish your pgp public key with keybase, using: `keybase pgp select --import` - This fails if you don't have a pgp key yet. If so, create one with `gpg --generate-key` From 7d3f88e7f6b7cc9791a32705f2d23f3e80c469da Mon Sep 17 00:00:00 2001 From: mrferris Date: Sun, 1 Oct 2023 15:22:55 -0400 Subject: [PATCH 8/9] docs: Add gpg decryption fix to FAQ secion --- book/src/developers/contributing/releases/deployment.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/book/src/developers/contributing/releases/deployment.md b/book/src/developers/contributing/releases/deployment.md index 394664717..52acf06f9 100644 --- a/book/src/developers/contributing/releases/deployment.md +++ b/book/src/developers/contributing/releases/deployment.md @@ -120,6 +120,8 @@ but none were. ``` It means your key isn't working. Check with `@paulj`. +If using `gpg` and decryption problems persist, see [this potential fix](https://github.com/getsops/sops/issues/304#issuecomment-377195341). + ### What do I do if Ansible says a node is unreachable? You might see this during a deployment: > fatal: [trin-ams3-18]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: connect to host 178.128.253.26 port 22: Connection timed out", "unreachable": true} From e75d3f0dfaa6f02e7aea09f0e93a15d2c1d91d52 Mon Sep 17 00:00:00 2001 From: mrferris Date: Sun, 1 Oct 2023 15:32:31 -0400 Subject: [PATCH 9/9] docs: Add deployment keys step to flamingo steps --- book/src/developers/contributing/rotation/index.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/book/src/developers/contributing/rotation/index.md b/book/src/developers/contributing/rotation/index.md index ef066fce4..ba0cc55ff 100644 --- a/book/src/developers/contributing/rotation/index.md +++ b/book/src/developers/contributing/rotation/index.md @@ -30,6 +30,10 @@ Read through the notes, and then generate the new checklist for the week, by [cr Link the generated checklist into the Flamingo notes for your week. Make sure your status is "online" in Discord. Make sure you're tagged under the `trin-flamingo` role. Put on your favorite pink shirt. Watch a [silly flamingo video](https://www.youtube.com/watch?v=gWNWtbPEWw0). Fly. +### First + +Read through the "Setup" section of the [Deployment Instructions](../releases/deployment.md) and follow the steps to make sure that your PGP and SSH keys are in place and ready for a deployment. + ### Daily #### Checklist