|
| 1 | +# Quick guide on how to release a new version of CoMPAS OpenSCD |
| 2 | + |
| 3 | +### Generally we follow these steps for releasing a new version: |
| 4 | + |
| 5 | +1. First make sure you have the correct upstream URL configured in your local **compas-open-scd** repo by running `git remote -v`. |
| 6 | + |
| 7 | + You should see something like this: |
| 8 | + |
| 9 | + ```bash |
| 10 | + juan@Juans-MBP compas-open-scd % git remote -v |
| 11 | + origin [email protected]:com-pas/compas-open-scd.git (fetch) |
| 12 | + origin [email protected]:com-pas/compas-open-scd.git (push) |
| 13 | + upstream [email protected]:openscd/open-scd.git (fetch) |
| 14 | + upstream [email protected]:openscd/open-scd.git (push) |
| 15 | + ``` |
| 16 | + |
| 17 | + If you don’t see the second set of upstream URLs then you need to add **open-scd** as your upstream repo by running: |
| 18 | + |
| 19 | + `git remote add upstream https://github.com/openscd/open-scd.git` |
| 20 | + |
| 21 | +2. Sync the changes from **open-scd** |
| 22 | + |
| 23 | + `git fetch upstream` |
| 24 | + |
| 25 | +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 like *release_v0_33_0_1*: |
| 26 | + |
| 27 | + `git checkout 5aa52454f3e3bb88efef7c8fb466d4d3cc48d20d -b release_v0_33_0_1` (example with commit hash) |
| 28 | + |
| 29 | + or |
| 30 | + |
| 31 | + `git checkout upstream/main -b release_v0_33_0_1` (example using open-scd's main branch) |
| 32 | +
|
| 33 | +4. Merge changes from *origin/main* into your release branch like this: |
| 34 | + |
| 35 | + `git merge main --strategy recursive` |
| 36 | + |
| 37 | +5. Make sure tests are passing, add fixes for breaking changes from **open-scd** |
| 38 | +6. Update the version number in your project's `package.json` file. |
| 39 | +7. Push the changes in your release branch to origin: |
| 40 | + `git push --set-upstream origin release_v0_33_0_1` |
| 41 | +8. Create a PR from your release branch into *main* |
| 42 | +9. Create a new release on GitHub and tag it with the new version number. |
| 43 | +10. Include automatic release notes summarizing the changes in this release. |
| 44 | +11. Publish the release and update all the CoMPAS projects with a dependency on this repo to the newly released version. |
0 commit comments