LionWeb-io / lionweb-repository

Reference implementation of LionWeb repository
Apache License 2.0
2 stars 1 forks source link

Bump versions #47

Closed joswarmer closed 3 months ago

joswarmer commented 3 months ago

@ftomassetti
After a lot of nuisances with e.g. github tags being incorrect docker tags etc. I now have a script that does the following interactively using changesets:

The script then automatically:

On the CI this results in the tag being added to the repository and a docker image to be published on github.

Note that the update of the version numbers is done at release time, just before releasing.

ftomassetti commented 3 months ago

Hi Jos, This looks very convenient!

Regarding what you wrote in the description, these two parts seem in contradiction:

Ask which packages to include (answer by SPACE-RETURN for all packages) Ask which packages get a major version bump

and this:

updates the versions of all packages, and also the versions of the internal dependencies between the packages (both in the package.json).

Why ask about which packages to include if later all the packages are updated? Or do you mean all the packages that need to be updated, as they were selected at the previous step?

I think that it would be simpler to always update the version of all packages, even if just one of them changed. Otherwise, the different packages could progress independently and we could end up having different versions for each package. As a user, I would then need to figure out which versions of which packages work together

joswarmer commented 3 months ago

All packages will be bumped together as described in the config.json.

joswarmer commented 3 months ago

It seems a great addition to the project! I just added comments about convenience, but my understanding of changeset is limited and I tend to think in the terms of the equivalent gradle plugin, so I may be wrong on some comments

changesets can do much more, like e.g. publishing and automatically creating release notes. The nice thing about it is that you can do most steps separately, and I used only a small part of what is available.