GitHub PR Attestation Bot

May 31, 2023
Open
Open
Ecosystem Project
  • Links

What is an Ecosystem Project Idea?

An Ecosystem Project Idea is an idea for a project that someone could build within the Optimism ecosystem. As opposed to an Ecosystem Concept or an Ecosystem Idea, an Ecosystem Project is generally more fleshed out and corresponds to a relatively clear product to be built.

Summary

Tracking contributions to a GitHub repository is a useful way to see who's been doing what. Since this information is already public, it can be valuable to make it more easily accessible in the form of an on-chain attestation. A GitHub PR Attestation Bot would automatically make an attestation every time a PR is merged into a repository's main branch. This attestation would contain a reference to the repository, the specific PR, the branch name the PR was merged to, and the GitHub username of the account that created the PR.

Attestations should be published to the Ethereum Attestation Service version of the AttestationStation (ATST). As of the creation of this PR, this version is only available on OP Goerli, but the bot should be designed to support OP Mainnet as well once the mainnet ATST has been upgraded to EAS.

An ideal version of this bot would be configured with the following:

  • RPC URL to be used when publishing attestations
  • Private key to use when publishing attestations
  • Branch or branches to look for PRs to

This can take the form of a GitHub actions task or a GitHub app.

Possible Features

  • Allow repository owners to install your GitHub action or GitHub app
  • Allow repository owners to configure your GitHub action or GitHub app with the above listed config options
  • Automatically publish an attestation when a PR is merged
  • Create a schema that represents the attestations based on the required information

Impact

  • Help projects keep track of their contributors
  • Help contributors be potentially rewarded via RPGF
  • More Information
  • Tag 1
    Dev Tools
  • Tag2
    Contracts
  • Tag3
    Attestations