Module Creation Checklist

When first creating a module for the DevOps Stack, there are a few steps to follow:

  1. Create a new repository in the Camptocamp GitHub organization, using the repository template.

    Create Repository
  2. Go to the settings of the repository and to the General tab:

    1. On the Features section, disable the Wikis, Sponsorships and Discussions, then make sure the Issues and Projects are enabled.

    2. On the Pull Requests section, disable the Allow merge commits option and enable the Automatically delete head branches option.

  3. Then go to the Collaborators and teams tab, add the infrastructure-department team as Maintainers and the @camptocamp/is-devops-stack team team as Administrators.

    Change Collaborators
  4. Next go to the Branches tab, and create a new branch protection rule for the main branch, with the following settings.

    Branch Protection Rule
  5. Finally, still on the settings of the repository, under Secrets and variables, go to Actions and add the secret PROJECT_APP_PRIVATE_KEY, which is needed to automatically add Issues and PRs to our project board. Check with the team where you can find this secret.

  6. Go the the Projects tab of the repository and add the DevOps Stack project (documentation).

  7. Request that an administrator of our GitHub organization adds the newly created repository to the app that automatically adds Issues and PRs to our project board (check the Project Board page for more information).

  8. Afterwards, you need to add the Slack app to the repository in order to activate notifications on the #is-devops-stack channel. To do so, go to the channel and do the following:

    1. Type /github subscribe camptocamp/<MODULE_NAME>.

    2. Since it a new repository, Slack is not yet added as an authorized application, as you’ll see by the information on the channel. So you simply need to click Install GitHub App.

      Slack Install GitHub App
    3. On the window that appears, select the Camptocamp organization then select the repository you to add the Slack app to.

      Slack GitHub App Window
    4. Then, you can go back to the channel and type /github subscribe camptocamp/<MODULE_NAME> again. This time, you should see a confirmation message.

      Slack GitHub Subscribe
    5. Finally, unsubscribe to all the other types of notifications, except for Releases with the command: /github unsubscribe camptocamp/<MODULE_NAME> issues pulls commits deployments.

      Slack GitHub Unsubscribe
  9. All that is left to do is adding the repository to our team reminder. For that, you can go to the @camptocamp/is-devops-stack team, and add the repository to our scheduled reminder on Slack about pending Pull Requests.

    Slack Reminder