Skip to content

Commit 4e516d1

Browse files
authored
Finish up cdt-gdb-adapter #379: "Releasing" docs (#182)
* Added "Releasing" section to DEVELOPMENT.md Signed-off-by: Jens Reinecke <[email protected]> * Feedback jonahgraham Signed-off-by: Jens Reinecke <[email protected]> --------- Signed-off-by: Jens Reinecke <[email protected]>
1 parent 09aa3a4 commit 4e516d1

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed

DEVELOPMENT.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,60 @@ The short step-by-step version is:
4747
3. Add a breakpoint somewhere useful, such as [`launchRequest`](https://github.com/eclipse-cdt-cloud/cdt-gdb-adapter/blob/6ba0de8e466f4953501181f53ecdfb14c7988973/src/desktop/GDBTargetDebugSession.ts#L94)
4848
4. Add `"debugServer": 4711` to the launch configuration in the extension development host. The `4711` is the port number that cdt-gdb-adapter is listening on.
4949
5. Debug the C/C++ program in the extension development host.
50+
51+
## Releasing
52+
53+
### Prepare a release with a Pull Request
54+
55+
- Check if security scans require dependency updates in [package.json](./package.json).
56+
See [here](https://github.com/eclipse-cdt-cloud/cdt-gdb-vscode/security/code-scanning).
57+
- Update [CHANGELOG.md](./CHANGELOG.md).
58+
- Make sure it contains a section with the new version at the top of the file.
59+
If individual commits after the last release already added a new section,
60+
then rename this section accordingly.
61+
- Review the commit history since the last release and add any user facing changes which
62+
haven't been added yet.
63+
- Add references to issues/PRs where possible. Use the format of previous releases.
64+
Putting the displayed issue number in backticks is important to avoid that a web
65+
frontend automatically adds links. For example if referencing an issue/PR outside
66+
this repository which has the same number like an issue in the`cdt-gdb-vscode` repository.
67+
- Prefix issues from the sibling project `cdt-gdb-adapter` with their name if a change was
68+
made in cdt-gd-vscode to resolve it.
69+
- If an update of `cdt-gdb-adapter` is included, then add a section `Update to cdt-gdb-adapter vX.Y.Z`.
70+
Include the release notes as listed in [`cdt-gdb-adapter` CHANGELOG](https://github.com/eclipse-cdt-cloud/cdt-gdb-adapter/blob/main/CHANGELOG.md).
71+
Make sure to prefix issue and PR links correctly if they point to the`cdt-gdb-adapter`repository.
72+
- Update the `version` entry in [package.json](./package.json) to the new version.
73+
If the release only introduces defect fixes without significant feature changes,
74+
then bump the third ("patch") version digit.
75+
Bump the second ("minor") version digit when new features have been added.
76+
Update the first ("major") version digit if there are changes that remove features
77+
or significantly change existing behavior.
78+
79+
### Start the publishing
80+
81+
After the PR has been reviewed and merged, go to the GitHub [releases page](https://github.com/eclipse-cdt-cloud/cdt-gdb-vscode/releases):
82+
83+
- Click `Draft a new release`.
84+
- Click the `Select Tag` dropdown and enter the new version in the form `vX.Y.Z`.
85+
- Click the `Generate release notes` button. This inserts a release name based on the
86+
selected tag. And creates a list of commits since the last release as release notes
87+
that are shown on GitHub.
88+
- If an update of `cdt-gdb-adapter` is included, then add a section `Update to cdt-gdb-adapter vX.Y.Z`.
89+
Include the release notes as listed in [`cdt-gdb-adapter` CHANGELOG](https://github.com/eclipse-cdt-cloud/cdt-gdb-adapter/blob/main/CHANGELOG.md).
90+
Make sure to prefix issue and PR links correctly if they point to the `cdt-gdb-adapter` repository.
91+
- Select whether the release is a pre-release and/or if it is the latest release to show
92+
on the GitHub repository page. Usually, no change of the defaults is required.
93+
- Click the `Publish release` button. This creates a new release and pushes the defined tag.
94+
The tag push triggers a GitHub action which builds, tests, uploads release artifacts to GitHub,
95+
and finally pushes releases to the [Open VSX Registry](https://open-vsx.org/extension/eclipse-cdt/cdt-gdb-vscode)
96+
and the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=eclipse-cdt.cdt-gdb-vscode).
97+
It may take a few minutes for this and the release's asset list to complete, and for the extensions to show up
98+
on the other registries.
99+
100+
**Note**:
101+
102+
- If CI should fail before the GitHub asset upload, you can try to rerun the failing GitHub action.
103+
- Should one of the registry pushes fail while the other succeeds, you can try to rerun the failing jobs.
104+
If more fixing is needed, you unfortunately may need to again bump the version number and repeat the entire process.
105+
106+
**Important**: Making a CDT GDB Debug Adapter release requires you to be a [committer](https://www.eclipse.org/membership/become-a-member/committer/).

0 commit comments

Comments
 (0)