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

Change versioning strategy #823

Closed
6 tasks done
demisx opened this issue Dec 20, 2022 · 0 comments · Fixed by #874
Closed
6 tasks done

Change versioning strategy #823

demisx opened this issue Dec 20, 2022 · 0 comments · Fixed by #874
Assignees

Comments

@demisx
Copy link
Collaborator

demisx commented Dec 20, 2022

We have run into an issue with our versioning. Using polkadot base version v0.9.29 and then subsequent with a -X ie v0.9.29-1 is great. I like it still, but it causes an issue for any npm packages reusing that version. (0.9.29 > 0.9.29-X).

Path Forward

  1. Our version base will be our own. We will release v1.0.0 soon
  2. We will move the polkadot version into the build information with the polkadot version: aka +polkadot0.9.29
  3. npm versions should strip that portion of the version. So chain version v1.0.1+polkadot0.9.29 should generate npm matching package version v1.0.1 (if needed, it can use build information for other data).

Todo

  • Alter the logic for updating the version for chain
  • Update the ci logic for testing matching versions
  • Update the npm logic for generating a version (dropping the build information)
  • Update the Release page of the wiki with the new setup
  • Release new version
  • Create a new story to consider implementing semantic commits Consider using and requiring Conventional Commits #878

Original Options

So we have a few options (from easiest to hardest more or less):

  1. Never use the base version, always use a -X. Be it -0 or -1, it would solve the issue for npm however would (as our current setup is) be against semver.
  2. Stop using the polkadot version as our base. Likely this means our next release is 1.1.0 (to be able to back date 0.9.29 -> 1.0.0 and 0.9.29-2 -> 1.0.2). Releases that are not hotfixes are likely always minor releases so patches can be reserved for hotfixes?
  3. Same as 2 except we use build version information to contain the polkadot version. Eg: 1.0.0+0.9.29 or perhaps 1.1.0+polkadot0.9.30
  4. Use a different version for npm (such as 1), but don't change anything else.
  5. Other (I do like https://calver.org options, but that doesn't quite match our situation like our spec and doc website deployments)

Side Effects:

@wilwade wilwade self-assigned this Dec 29, 2022
@wilwade wilwade mentioned this issue Jan 5, 2023
3 tasks
wilwade added a commit that referenced this issue Jan 5, 2023
# Goal
The goal of this PR is to switch to a new versioning strategy (shifting
the substrate/polkadot version into the build version).

Closes #686 
Closes #823 

# Discussion

Tested with v1.0.0-rc1
```
$ ./frequency.amd64 --version
frequency.amd64 1.0.0-rc1+polkadot0.9.30-9d0f4bc96f9
```
- CI check failure test:
https://github.com/LibertyDSNP/frequency/actions/runs/3842190870/jobs/6543671877
- CI check success test:
https://github.com/LibertyDSNP/frequency/actions/runs/3842423288

Release Notes Update Test:
<img width="914" alt="image"
src="https://user-images.githubusercontent.com/1252199/210675548-6b800016-a33a-49e9-a163-1786b6d76efc.png">


# Checklist
- [x] CI Check of binary version
- [x] Wiki Update: https://github.com/LibertyDSNP/frequency/wiki/Release
- [ ] [Update Frequency CI
Diagram](https://docs.google.com/drawings/d/1IcAzZbulRcntYQ5ub-zDyIkqJY1NE0iqClhkg2PE5lo/edit)
abadaa pushed a commit that referenced this issue Jan 10, 2023
# Goal
The goal of this PR is to switch to a new versioning strategy (shifting
the substrate/polkadot version into the build version).

Closes #686 
Closes #823 

# Discussion

Tested with v1.0.0-rc1
```
$ ./frequency.amd64 --version
frequency.amd64 1.0.0-rc1+polkadot0.9.30-9d0f4bc96f9
```
- CI check failure test:
https://github.com/LibertyDSNP/frequency/actions/runs/3842190870/jobs/6543671877
- CI check success test:
https://github.com/LibertyDSNP/frequency/actions/runs/3842423288

Release Notes Update Test:
<img width="914" alt="image"
src="https://user-images.githubusercontent.com/1252199/210675548-6b800016-a33a-49e9-a163-1786b6d76efc.png">


# Checklist
- [x] CI Check of binary version
- [x] Wiki Update: https://github.com/LibertyDSNP/frequency/wiki/Release
- [ ] [Update Frequency CI
Diagram](https://docs.google.com/drawings/d/1IcAzZbulRcntYQ5ub-zDyIkqJY1NE0iqClhkg2PE5lo/edit)
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 a pull request may close this issue.

2 participants