You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+73-1Lines changed: 73 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,6 +27,78 @@ pull request reviewed, the reviewer(s) may ask you to complete additional
27
27
work, tests, or other changes before your pull request can be ultimately
28
28
accepted.
29
29
30
+
## 🦦 Releasing
31
+
32
+
1. Go to the **main** branch and ensure it is up to date with the remote:
33
+
34
+
```bash
35
+
git checkout main
36
+
git pull
37
+
```
38
+
39
+
2. Run the script that will generate the CHANGELOG for you:
40
+
41
+
```bash
42
+
sh tool/release_ready.sh <new-version>
43
+
```
44
+
45
+
**Note 💡** : You should follow semantic versioning and bump according to the changes the new version makes.
46
+
47
+
`<new-version>`: The version of this new extension release, for example: 0.2.1
48
+
49
+
The release_ready script will:
50
+
51
+
- Create a new branch just for this release and checkout to it.
52
+
- Automatically update the CHANGELOG file with the associated changes.
53
+
54
+
3. Manually remove the *(deps-dev)* scope or other entries of the conventional commits entries in the CHANGELOG
55
+
4. Add the changes and commit with the commit message that the *release_ready* script outputted.
56
+
5. Raise a Pull Request, the title should be the same as the commit message outputted by the *release_ready* script.
57
+
6. When the Pull Request is merged, tag a new release to the commit. When adding the tag ensure:
58
+
- The tag is pointing to the commit that you recently merged.
59
+
- The title of the tag should be v<new-version>
60
+
- The title of the release should be v<new-version>
61
+
- 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.
62
+
7. After the release is tagged the new changes will be available by the the following syntax:
63
+
64
+
```yaml
65
+
VeryGoodOpenSource/..@v<new-version>
66
+
```
67
+
68
+
Where:
69
+
70
+
-`<new-version>`: The version of this new workflow or action, for example: 0.2.1
71
+
8. Go to the **main** branch and ensure it is up to date with the remote:
72
+
73
+
```yaml
74
+
git checkout main
75
+
git pull
76
+
```
77
+
78
+
9. Retag the major release.
79
+
80
+
For the Workflow or Action to be updated for those users using the `@<major-version` syntax we will require to retag the major release.
81
+
82
+
```yaml
83
+
sh tool/retag_v<major-version>.sh <new-version>
84
+
```
85
+
86
+
Where:
87
+
88
+
-`<major-version>`: Is the major version of the release, for example in 2.16.3 the major version is 2. For more information see the [semantic versioning documentation](https://semver.org/).
89
+
-`<new-version>`: The version of this new workflow or action, for example: 0.2.1.
90
+
91
+
92
+
If your change is a breaking change and requires a new major release you should update the name of the retag script and its `v<major-version>` instances.
93
+
94
+
10. After the retag the new changes will be available by the the following syntax:
95
+
96
+
```yaml
97
+
VeryGoodOpenSource/..@v<major-version>
98
+
```
99
+
100
+
Where: `<major-version>`: Is the major version of the release, for example in 2.16.3 the major version is 2. For more information see the [semantic versioning documentation](https://semver.org/).
0 commit comments