Extending the expiry on a GPG key is not very hard, but it's easy to forget a step. Here's how I did my last expiry bump.

Update the expiry on the main key and the subkey:

gpg --edit-key KEYID
> expire
> key 1
> expire
> save

Upload the updated key to the keyservers:

gpg --export KEYID | curl -T - https://keys.openpgp.org
gpg --keyserver keyring.debian.org --send-keys KEYID

and then removing the old one from your GitHub profile and pasting in the output of:

gpg --armor --export KEYID | xsel -b

If you use Enigmail in Thunderbird, you'll need to also export the new public key:

gpg --export KEYID > newkey.gpg

and import that newkey.gpg file into its keyring:

  1. Tools | OpenPGP Key Manager
  2. File | Import Public Key(s) From File