wfxr / forgit

:zzz: A utility tool powered by fzf for using git interactively.
MIT License
4.32k stars 136 forks source link

Meta: GitHub tag action: add commit key #248

Closed carlfriedrich closed 1 year ago

carlfriedrich commented 1 year ago

The COMMIT_KEY secret contains a private SSH key. The associated public key has been added as a deploy key in the GitHub project. See: https://docs.github.com/en/developers/overview/managing-deploy-keys#deploy-keys

This is necessary to make commits done by github-actions able to trigger further github-actions. See: https://stackoverflow.com/q/60418323/3018229.

Check list

Description

Type of change

Test environment

carlfriedrich commented 1 year ago

In #233 we agreed on this release workflow:

  1. Tag creation (triggered on every 1st day of the month)

    • Check if current master is newer than latest tag. If yes:
    • Create a release tag
  2. Release creation (triggered on new tags)

    • Create a GitHub release
    • Generate a changelog

Unfortunately GitHub actions are not able to trigger other GitHub actions automatically by default. So when the first action creates a tag, the second action is not triggered. This happens only if a user pushes the tag manually.

In order to make this work, we need to supply a deploy key to the repository. This is basically an SSH keypair, of which the private key has to be added as a repository secret called COMMIT_KEY, and the public key has to be added as a deploy key with write access.

Both have to be configured in the repository settings, to which I don't have access. @wfxr Is there a possibility to give me access to these settings? Could be temporarily, if that's okay for you. Or alternatively could you generate the keypair and set the keys up as described?

Sorry for the circumstances, I wasn't aware of this before. :-/

After the keys have been set up, this PR can be merged.

carlfriedrich commented 1 year ago

@wfxr Did you get my ping here? We actually need the SSH keypair in the project for the automatic releases to work.

With the beginning of December today we could already witness that the release workflow does not work without it. While the tag workflow successfully ran and created the 22.12.0 tag, this tag creation did not trigger the release workflow because GitHub prevents this when using the default GITHUB_TOKEN.

wfxr commented 1 year ago

@carlfriedrich Sorry for the very late reply. I have a bad cold these days.

Is there a possibility to give me access to these settings? Could be temporarily, if that's okay for you. Or alternatively could you generate the keypair and set the keys up as described?

Seems there's nowhere to give you access to these settings. I have tried to set up the required keys. Let's see if it works.

carlfriedrich commented 1 year ago

@carlfriedrich Sorry for the very late reply. I have a bad cold these days.

@wfxr No worries, get well soon!

Seems there's nowhere to give you access to these settings. I have tried to set up the required keys. Let's see if it works.

Great, we'll see in January then. :-) I will re-create the 22.12.1 tag manually to have a proper December release.