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

Specify versions of nimi-python modules independently #1900

Open
1 of 4 tasks
ni-jfitzger opened this issue Mar 24, 2023 · 3 comments
Open
1 of 4 tasks

Specify versions of nimi-python modules independently #1900

ni-jfitzger opened this issue Mar 24, 2023 · 3 comments
Assignees

Comments

@ni-jfitzger
Copy link
Collaborator

ni-jfitzger commented Mar 24, 2023

Description of issue

Currently, all nimi-python modules release at the same time with the exact same version, regardless of what changes were made to each individual module.

This violates the spirit of semantic versioning.

To allow specifying of different individual versions, the following needs to be done:

  • Split ReadTheDocs documentation
  • Use multiple module-specific version tags for each release
    • Can this be done?
  • Handle testing dependencies
    • There may be nothing to do here

Of course, the work to actually specify versions needs to be done, as well.

@ni-jfitzger
Copy link
Collaborator Author

There's also changelogs to consider. Maybe put individual changelogs in src/, so that we can maintain the version separately?
Alternatively, keep a single changlog and group by release data, specifying individual versions for each package.

For release tags, I believe we can just create individual releases and include the name of the package in the tag. There are other examples of monorepos that do this, like https://github.com/conventional-changelog/conventional-changelog/tags.

I don't know how this might complicate the automated uploading of documentation to ReadTheDocs. That's something to look into.

@ni-jfitzger ni-jfitzger self-assigned this May 10, 2023
@ni-jfitzger ni-jfitzger added this to the nimi-python 1.4.5 milestone May 10, 2023
This was linked to pull requests May 11, 2023
@ni-jfitzger
Copy link
Collaborator Author

Clarification on the issue description:

We were technically already capable of specifying different versions for each package, we just haven't.
The main difficulty with doing so is "What version do we specify for the docs and the repo tags?"

We could just use the latest of any package version, but that forces us to release everything, every time (in case other packages catch up in version with the latest versioned package in a release where it isn't bumped). Another difficulty with that is that it can be confusing to users looking for a specific version of the docs or repo that goes with a particular version of a module.

@ni-jfitzger
Copy link
Collaborator Author

An alternative to semver is discontinuous semver, a concept where the package version is the same across the repo, but not everything releases every time.

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

No branches or pull requests

1 participant