Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open source the release and changelog feature #16

Open
M0nkeySan opened this issue May 31, 2024 · 1 comment
Open

Open source the release and changelog feature #16

M0nkeySan opened this issue May 31, 2024 · 1 comment

Comments

@M0nkeySan
Copy link
Collaborator

What

In the current Manomano internal project, homer offers the option of publishing and displaying a project's change log using the following commands :

  • /homer changelog Generate changelogs for any Gitlab project using release tags.
  • /homer release Create a Gitlab release.
  • /homer release cancel Cancel a Gitlab release.
  • /homer release end End a Gitlab release.

These functionalities should be reviewed and modified to make them available in the open-source project.

How

In order to add a releasable project, an internal configuration file must be modified. This behaviour needs to be reviewed to simplify the process and avoid the need to redeploy homer each time.

Firstly, we should externalise this configuration, and write documentation about it.
Then we could add a command like /homer release enable to register a new releaseable project.

The current configuration is as follows:

{
    notificationChannelIds: [
      IT_DEPLOY_CHANNEL_ID,
      FT_SELLER_CHANNEL_ID,
    ],
    projectId: 1,
    releaseChannelId: FT_SELLER_CHANNEL_ID,
    releaseManager: defaultReleaseManager,
    releaseTagManager: semanticReleaseTagManager,
  },

projectId : Gitlab project ID
notificationChannelIds : ID of the Slack channels that receive notifications about the release
releaseChannelId : ID of the slack channel where the release of the project is enabled
releaseManager : change depending on the type of the project (library, micro-service, frontend ..)
releaseTagManager : defines the tag naming (semantic, stable date ...)

The modal could be like this :

image

@fleboulch
Copy link
Contributor

I opened this MR before someone is working on this topic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants