diff --git a/README.md b/README.md index 0d1fcc2d9..1b05a6e9c 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,10 @@ to use the CoMPAS Backend Service to open and save SCL Files and more. See [Development](DEVELOPMENT.md) for more information about how to build and run CoMPAS OpenSCD locally. +## Releasing + +See [Releasing](RELEASING.md) for a step by step guide on releasing this fork with the latest version of [open-scd](https://github.com/openscd/open-scd/). + ## License The [IEC 61850](https://webstore.iec.ch/publication/63319) XSD and NSD code components used are diff --git a/RELEASING.md b/RELEASING.md new file mode 100644 index 000000000..24b75e0f5 --- /dev/null +++ b/RELEASING.md @@ -0,0 +1,35 @@ +# Quick guide on how to release a new version of CoMPAS OpenSCD + +### Generally we follow these steps for releasing a new version: + +1. First make sure you have the correct upstream URL configured in your local **compas-open-scd** repo by running `git remote -v`. + + You should see something like this: + + ```bash + juan@Juans-MBP compas-open-scd % git remote -v + origin git@github.com:com-pas/compas-open-scd.git (fetch) + origin git@github.com:com-pas/compas-open-scd.git (push) + upstream git@github.com:openscd/open-scd.git (fetch) + upstream git@github.com:openscd/open-scd.git (push) + ``` + + If you don’t see the second set of upstream URLs then you need to add **open-scd** as your upstream repo by running: + + `git remote add upstream https://github.com/openscd/open-scd.git` + +2. Sync the changes from **open-scd** + + `git fetch upstream` + +3. Create a new release branch from the latest release of open-scd (this could be *upstream/main* if it was just released or the specific commit hash of the release), using a branch name relative to the desired release tag, example: *release_v0_33_0_1* +4. Merge changes from *origin/main* into your release branch like this: + + `git merge main --strategy recursive` + +5. Make sure tests are passing, add fixes for breaking changes from **open-scd** +6. Update the version number in your project's `package.json` file. +7. Create a PR from your release branch into *main* +8. Create a new release on GitHub and tag it with the new version number. +9. Include automatic release notes summarizing the changes in this release. +10. Publish the release and update all the CoMPAS projects with a dependency on this repo to the newly released version. \ No newline at end of file