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: README.md
+24-2
Original file line number
Diff line number
Diff line change
@@ -121,12 +121,12 @@ In the `.github/workflows` directory, you can find definitions for the following
121
121
- Triggered on `Publish release` event.
122
122
- Updates `CHANGELOG.md` file with the content provided with the release note.
123
123
- Publishes the plugin to JetBrains Marketplace using the provided `PUBLISH_TOKEN`.
124
-
- Sets publish channel depending on the plugin version, i.e. `1.0.0-beta` -> `beta` channel.
124
+
- Sets publish channel depending on the plugin version, i.e. `1.0.0-beta` -> `beta` channel. For now, both `main` and `eap` branches are published on default release channel.
125
125
- Patches the Changelog and commits.
126
126
127
127
### Release flow
128
128
129
-
When the main branch receives a new pull request or a direct push, the [Build](.github/workflows/build.yml) workflow runs builds the plugin and prepares a draft release.
129
+
When the `main` or `eap` branch receives a new pull request or a direct push, the [Build](.github/workflows/build.yml) workflow runs builds the plugin and prepares a draft release.
130
130
131
131
The draft release is a working copy of a release, which you can review before publishing.
132
132
It includes a predefined title and git tag, the current plugin version, for example, `v2.1.0`.
@@ -204,6 +204,28 @@ GitHub Actions will swap it and provide you an empty section for the next releas
204
204
- One annoying bug
205
205
```
206
206
207
+
## `main` vs `eap` branch
208
+
209
+
Gateway API has not reached maturity. More often than not, there are API incompatibilities between
210
+
the latest stable version of Gateway and EAP ones (Early Access Program). To provide support for both
211
+
versions of Gateway we've decided:
212
+
213
+
- to have two branches for releases: `main` and `eap`
214
+
-`main` branch will provide support for the latest stable Gateway release, while `eap` will provide
215
+
support for releases in the EAP program.
216
+
- both versions of the plugin will keep the MAJOR.MINOR.PATCH numbers in sync. When there is a fix
217
+
in the plugin's business code, these versions will change and the changes on the `main` branch will
218
+
have to be merged on the `eap` branch as well.
219
+
- releases from `eap` branch are suffixed with `-eap.x`. `x` will allow releases for the same plugin
220
+
functionality but with support for a different Gateway EAP version. In other words, version `2.1.2`
221
+
of the plugin supports Gateway 2022.2 while version `2.1.2-eap.0` supports some builds in the Gateway
222
+
2022.3 EAP. `2.1.2-eap.1` might have to support a newer version of EAP.
223
+
- when Gateway 2022.3 EAP is released in the stable channel then `eap` branch will have to be merged back
224
+
in the `main` branch, and it will start supporting the next EAP builds.
225
+
- releases from both branches are published in the stable release channel. Jetbrains provides support for
226
+
different release channels (ex: `eap` or `beta`), but all of them except the stable channel have to be
227
+
manually configured by users in Gateway - which is super inconvenient.
0 commit comments