Skip to content

Commit cf1a6ab

Browse files
committed
Update README with comments about main&eap branch
1 parent 5505188 commit cf1a6ab

File tree

1 file changed

+24
-2
lines changed

1 file changed

+24
-2
lines changed

README.md

+24-2
Original file line numberDiff line numberDiff line change
@@ -121,12 +121,12 @@ In the `.github/workflows` directory, you can find definitions for the following
121121
- Triggered on `Publish release` event.
122122
- Updates `CHANGELOG.md` file with the content provided with the release note.
123123
- 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.
125125
- Patches the Changelog and commits.
126126

127127
### Release flow
128128

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.
130130

131131
The draft release is a working copy of a release, which you can review before publishing.
132132
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
204204
- One annoying bug
205205
```
206206

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.
228+
207229
[docs:qodana-github-action]: https://www.jetbrains.com/help/qodana/qodana-intellij-github-action.html
208230

209231
[docs:plugin-signing]: https://plugins.jetbrains.com/docs/intellij/plugin-signing.html?from=IJPluginTemplate

0 commit comments

Comments
 (0)