Skip to content

Create Repository Settings Keeper #137

@derberg

Description

@derberg

Reason/Context

We have 60 repositories in AsyncAPI organization and it is impossible to stay in sync with settings across all repositories.

We have https://github.com/asyncapi/.github/blob/master/repository-settings.md but it is completely ignored, thus also no longer updated.

Description

We need an application that enables us to manage the settings of the GitHub repository through a config file stored in a given repository.

  • Imagine you have a file in a repo that is called .projects.settings.keeper
  • it is a yaml file with structure that has info about:
    • discussions: true - that enables discussions tab for project
    • pr: ['squashandmerge'] - that enables only squash and merge on PRs
    • there should be a list of branch protection settings and default workflows that should be blocking PRs
  • there also are extra settings like sonarcloud: true or coveralls: true that means the application should make sure sonarcloud or coveralls are enabled for a given project
  • basing on CODEOWNERS the app adds given users as maintainers of the repo
  • once .projects.settings.keeper is created, global workflow synchronization is triggered to get default workflows into the repo

For GSoC participants

  • you will write some JS code
  • you will learn GitHub Actions and GitHub API
  • you will play a lot with different REST APIs to integrate them together

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/ci-cdSpecify what technical area given issue relates to. Its goal is to ease filtering good first issues.enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions