nullinside-development-group / nullinside-cicd-github

GitHub bot to work around missing features that require a paid license.
0 stars 0 forks source link

CICD: GitHub Bot #2

Open ProgrammingByPermutation opened 8 months ago

ProgrammingByPermutation commented 8 months ago

Create a repo and some code for a GitHub bot to handle some annoying automation like:

  1. Mirroring Milestones between projects to give us a "fake" milestone that spans multiple projects (work around for missing feature)
  2. Handle automatically merging PRs that are valid (work around for not having enterprise license)
    • Due to security concerns about allowing forked repos to run workflows on self-hosted runners we cannot do the automatic merge workflow. The entire purpose of this is to make the maintainers visit PRs less often. In the current world they have to visit PRs everytime no matter what...so no real savings doing any of this work.
  3. Automatically import issues and PRs into the nullinside-development-group for all of its associated repos (work around for not having enterprise license)
    • PRs shouldn't be in the project. We'll keep the board clean by only importing issues.
  4. Creating a "ruleset" with branch protection rules. Even though branch protection doesn't work it looks like ruleset functionality might be enabled?
ProgrammingByPermutation commented 8 months ago

In regards to 3.

  1. REST API is only for "old" projects that no longer exist. You have to use the GraphQL API.
  2. GraphQL API requires a Github App OAuth token to authenticate with the "projects" permission.
ProgrammingByPermutation commented 1 month ago

In regards to 4.

Some momentum stalled. The octokit library we use to perform the ruleset updates doesn't correctly perform the call. We have to update the open source project if we want that working or handroll this call.