Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CI job on push to verify that all commits are signed directly or by tag #105

Open
ben-grande opened this issue Oct 23, 2024 · 1 comment
Labels
T: enhancement New feature or request

Comments

@ben-grande
Copy link
Owner

ben-grande commented Oct 23, 2024

Current problem (if any)

When merging code from others, it would be nice to automatically create a signed tag with my signature.

Proposed solution

Evaluate marmarek's signature-checker and the hooks post-merge (sign with tag if commit is not signed by trusted key) and pre-push (block push if not everything is signed).

Criteria:

  • The script must be able to run locally, just like almost every other CI job
  • Without internet connection, keys must be present in the repository
  • It must prevent pushes on the client side
  • Must fail CI on the server side indicating the error

The value to a user, and who that user might be

  • Developers: maintainer signs contributor commit for users to only require verifying one fingerprint
  • Users: can be sure of authenticity
@ben-grande
Copy link
Owner Author

ben-grande commented Oct 25, 2024

pre-receive hooks seems to be only possible with Github Enterprise, github CI was not tested yet.

post-merge or post-commit were not implemented "yet".

ben-grande added a commit that referenced this issue Nov 20, 2024
Check commit signature and if it fails, check if any signed tags
associated with commit exist from a keyring that can be found only
locally.

For: #105
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T: enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant