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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions