Skip to content

Commit df09c0c

Browse files
authored
docs(vscode): add release docs (#1823)
1 parent 64225fc commit df09c0c

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed

extensions/vscode/CONTRIBUTING.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,3 +85,71 @@ npm test
8585

8686
[conventional_commits_link]: https://www.conventionalcommits.org/en/v1.0.0
8787
[bug_report_link]: https://github.com/dart-frog-dev/dart_frog/issues/new?assignees=&labels=bug&template=bug_report.md&title=fix%3A+
88+
89+
90+
## 🐸 Releasing Dart Frog’s extension on [VS Code Marketplace](https://marketplace.visualstudio.com/vscode)
91+
92+
1. Go to the **main** branch and ensure it is up to date with the remote (from extensions/vscode):
93+
94+
```bash
95+
git checkout main
96+
git pull
97+
```
98+
99+
2. Run the script that will generate the CHANGELOG for you (from extensions/vscode):
100+
101+
```bash
102+
sh ../../tool/release_ready.sh <new-version>
103+
```
104+
105+
`<new-version>`: The version of this new extension release, for example: 0.2.1
106+
107+
The [*release_ready*](https://github.com/dart-frog-dev/dart_frog/blob/vscode-v0.2.1/tool/release_ready.sh) script will:
108+
109+
- Create a new branch just for this release and checkout to it.
110+
- Automatically update the [CHANGELOG](https://github.com/dart-frog-dev/dart_frog/blob/main/extensions/vscode/CHANGELOG.md) file with the associated changes.
111+
- Prepares the [package.json](https://github.com/dart-frog-dev/dart_frog/blob/vscode-v0.2.1/extensions/vscode/package.json) and [package.lock.json](https://github.com/dart-frog-dev/dart_frog/blob/vscode-v0.2.1/extensions/vscode/package-lock.json)
112+
3. Manually remove the *(vscode)* scope or others of the conventional commits entries in the CHANGELOG
113+
4. Add the changes and commit with the commit message that the *release_ready* script outputted.
114+
5. Raise a Pull Request, the title should be the same as the commit message outputted by the *release_ready* script.
115+
6. When the Pull Request is merged, tag a new release to the commit. When adding the tag ensure:
116+
- The tag is pointing to the commit that you recently merged.
117+
- The title of the tag should be vscode-<new-version>
118+
- The title of the release should be vscode-<new-version>
119+
- The description should be a raw copy of the CHANGELOG’s file version’s body you recently crafted (without the version header). If in doubt, see the other released tags as an example.
120+
7. After the release is tagged the release will be performed automatically, check the [actions](https://github.com/dart-frog-dev/dart_frog/actions) tab to see the progress. Once released navigate to the VS Code Marketplace publishers’ page to check the status of the release.
121+
122+
### 🔨 Troubleshooting VS Code releasing Dart Frog’s extension
123+
124+
- How can I release if the action is not working after tagging a release?
125+
126+
If for any reason the action is not working upon tagging a release you may release manually. To release manually you should:
127+
128+
1. Install [VSCE](https://github.com/microsoft/vscode-vsce) (VS Code Extension Manager):
129+
130+
```bash
131+
npm install --global @vscode/vsce
132+
```
133+
134+
2. Login to VSCE with our credentials:
135+
136+
```bash
137+
vsce login <publisher id>
138+
```
139+
140+
3. Go to the **main** branch and ensure it is up to date with the remote (from extensions/vscode):
141+
142+
```bash
143+
git checkout main
144+
git pull
145+
```
146+
147+
4. Publish the new version manually (from extensions/vscode):
148+
149+
```bash
150+
vsce publish <new-version>
151+
```
152+
153+
`<new-version>`: The version of this new extension release, for example: 0.2.1
154+
155+
5. Once released navigate to the VS Code Marketplace publishers’ page to check the status of the release.

0 commit comments

Comments
 (0)