Skip to content

Commit a276195

Browse files
Document updating the GitHub deployment keys (#8790)
1 parent 3212f15 commit a276195

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

package/README.md

+35
Original file line numberDiff line numberDiff line change
@@ -202,3 +202,38 @@ The following points assume work in a direct clone of the repository, and not in
202202
* In main README.md go to "Latest release" section, change version number in the readthedocs link to the version which was just released, and verify that all links work.
203203
--------------COPY ABOVE THIS LINE--------------
204204
```
205+
206+
## Updating a SSH deploy key
207+
208+
A SSH private/public key pair is required to update the master JSON (the final step of the release process). Sometimes GitHub will expire one side or the other of that key, and a new one will need to be regenerated and installed in the https://github.com/esp8266/esp8266.github.io (JSON) and https://github.com/esp8266/Arduino (core) repos.
209+
210+
1. Generate a new public/private SSH key pair:
211+
````
212+
$ ssh-keygen -t ed25519 -C [email protected] (**replace with your GH user account email**)
213+
Generating public/private ed25519 key pair.
214+
Enter file in which to save the key (/home/earle/.ssh/id_ed25519): deploy_key
215+
Enter passphrase (empty for no passphrase): (**use no passphrase**)
216+
Enter same passphrase again:
217+
Your identification has been saved in deploy_key
218+
Your public key has been saved in deploy_key.pub
219+
The key fingerprint is:
220+
...
221+
````
222+
223+
2. Copy the contents of `deploy_key.pub` to the clipboard:
224+
````
225+
$ cat deploy_key.pub
226+
ssh-ed25519 AAA..... [email protected]
227+
````
228+
229+
3. Install the deploy key to GH.io. Go to https://github.com/esp8266/esp8266.github.io and the `Settings->Deploy Keys` and `Add deploy key`. Paste the (public key) string into the box and select `Allow writes` and hit OK.
230+
231+
4. Convert the `deploy_key` private key to a 1-line base64 representation and copy it to the clipboard.
232+
````
233+
$ base64 -w 0 < deploy_key && echo ""
234+
yEvYm..... (**note this must be one single long line, hence the "-w 0"**)
235+
````
236+
237+
5. Install the private key to the core repo. Go to https://github.com/esp8266/Arduino and select `Settings->Secrets->Actions` and add or update a `Repository secret` called `GHCI_DEPLOY_KEY`. Paste the 1-line base64 contents of your clipboard to the box and hit OK.
238+
239+
6. If the release failed in the `Update master JSON file` action, from the GH web interface run the `Actions->Release XXX->Re-run failed jobs` to re-run it and check its output.

0 commit comments

Comments
 (0)