From 77f4ff259c23a8eb1e94700ddcfa4189be172754 Mon Sep 17 00:00:00 2001 From: Petrisor Lacatus Date: Fri, 20 Mar 2020 10:50:00 +0200 Subject: [PATCH] fix(docs): added publishing info --- CONTRIBUITING.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/CONTRIBUITING.md b/CONTRIBUITING.md index b490dd3..878ba53 100644 --- a/CONTRIBUITING.md +++ b/CONTRIBUITING.md @@ -24,3 +24,16 @@ The forked version of monaco-typescript adds support for declaring new languages yarn run build ``` 7. In the zip folder, you should have the built version of the extension. + +## Publishing a new release to github + +The widget uses [semantic-release](https://semantic-release.gitbook.io/) and GitHub Actions for automatic version management and package publishing. This automates the whole widget release workflow including: determining the next version number, generating the release notes, updating the _CHANGELOG.MD_ and publishing a release. Please read through the *semantic-release* official documentation to better understand how it works. + +Because we are using *semantic-release* the commit messages must follow a specific format called [Angular commit conventions or Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/). It is mandatory that this is followed. To help with this, the project is also setup with [commitizen](https://commitizen.github.io/cz-cli/) as a dev-dependency. So, you can use `git cz` instead of `git commit` to create a new commit. + +The repository has two branches: + +* **master**: This is where the main development takes place. +* **release**: The branch containing the latest release of the widget. Pushing to this branch triggers the `semantic-release`, updating the *CHANGELOG.MD* file, and creating a new GitHub release. + +To create a new release, simply merge **master** into **release** and push the changes to github. An action will automatically be triggered. \ No newline at end of file