Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: version compatibility docs #1705

Draft
wants to merge 11 commits into
base: main
Choose a base branch
from

Conversation

ayildirim21
Copy link
Member

as per #1686

Signed-off-by: a3hadi <a3hadi@protonmail.com>
Signed-off-by: a3hadi <a3hadi@protonmail.com>
Signed-off-by: a3hadi <a3hadi@protonmail.com>
Signed-off-by: a3hadi <a3hadi@protonmail.com>
Signed-off-by: a3hadi <a3hadi@protonmail.com>
1. Follow the output, push a new tag to the release branch, GitHub actions will automatically build and publish the new release, this will take around 10 minutes.
1. Test the new release, make sure everything is running as expected, and then recreate a `stable` tag against the latest release.
1. Cherry-pick fixes to the release branch, skip this step if it's the first release in the branch
2. Run `make test` to make sure all test cases pass locally
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use 1., it will be interpreted correctly.

@@ -2,21 +2,32 @@

## Release Branch

Always create a release branch for the releases, for example branch `release-0.5` is for all the v0.5.x versions release. If it's a new release branch, simply create a branch from `main`.
Always create a release branch for the releases. For example branch `release-0.5` is for all the `v0.5.x` version releases. If it's a new release branch, simply create a branch from `main`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

releasing.md is supposed to be read by contributors/developers, we could mention something like "version mapping needs to be updated at xxx when needed". The real version mapping would be a doc for the users, instead of using a yaml file, it would be better to be in a doc file, maybe shown as a table.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since we have this YAML file, can we generate a human friendly table view for docs at build time? Also this YAML can power the manual mapping we maintain in code. There should only be a single source of truth. I am quite certain it will diverge otherwise.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 to use the same YAML for version compatibility check in the code.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a good idea.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, not that good. Need to carefully think about the process of development and release.

  1. How to make main branch work (latest).
  2. How to update the file during the release (e.g. add the config for the to be released version).
  3. How to bring the new config in the release back to main branch.

Details like above need to be addressed.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need to invest in that, our docs should be versioned based on release.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree, We need to think it through about how to maintain this file with automation.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 to use the same YAML for version compatibility check in the code.

Comment on lines 4 to 19
1.2.0-rc1:
- Go: 0.7.0-0
- Python: 0.7.0a
- Java: 0.7.1-0
1.2.0-rc2:
- Go: 0.7.0-0
- Python: 0.7.0a
- Java: 0.7.1-0
1.2.0-rc3:
- Go: 0.7.0-0
- Python: 0.7.0a
- Java: 0.7.1-0
1.2.0-rc4:
- Go: 0.7.0-rc2
- Python: 0.7.0a1
- Java: 0.7.2-0
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's rearrange the order so that the latest version is at the top so that it is more relatable to the user.

Signed-off-by: a3hadi <a3hadi@protonmail.com>
Signed-off-by: a3hadi <a3hadi@protonmail.com>
Signed-off-by: a3hadi <a3hadi@protonmail.com>
@ayildirim21 ayildirim21 marked this pull request as draft April 25, 2024 19:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants