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

Inject latest loco version insdead of * #86

Closed
kaplanelad opened this issue Dec 5, 2023 · 3 comments
Closed

Inject latest loco version insdead of * #86

kaplanelad opened this issue Dec 5, 2023 · 3 comments
Labels
cli STG-4 Indepth coverage of features, post public

Comments

@kaplanelad
Copy link
Contributor

In the CLI, we generate the Cargo.toml with the following dependency:

loco-rs = { version = "*" }

Replacing the asterisk (*) with the currently running version is advisable to mitigate potential breaking changes in the master branch.

Related issue: #85

@kaplanelad
Copy link
Contributor Author

I have reservations about whether this issue will address the underlying problem.

The loco-cli currently fetches the template from the master branch. If the code in the starter template is more up-to-date, it doesn't matter how loco-rs is defined, the build will brake.

Consider adopting a workflow like a dev branch and merging into master exclusively during the release of a new library version. This approach may provide a more effective solution.

@jondot
Copy link
Contributor

jondot commented Dec 7, 2023

I did some thinking --
I think the best solution is to create a "mono repo like" versioning system.

All crates, all CLIs, all projects "move forward" together and are locked to a version
This is what works well in hyperstackjs.io.

There is one additional scenario, where people are happy with what they generated, and don't want to upgrade.
If they DO want to upgrade, they come with their version, and look for a changelog to see what breaking changes they have to fit
(which means we also need a changelog)

@jondot jondot added the STG-4 Indepth coverage of features, post public label Dec 7, 2023
@kaplanelad
Copy link
Contributor Author

kaplanelad commented Dec 7, 2023

That sounds like a good suggestion.
I have created a xtask that will support pre-release and will do it automatically. #104

so the flow will be:

  • lock all the starters to loco lib version.
  • Run bump-release xtask will replace that do
    • change loco lib to the given version
    • change starters to the new given version

Then, you just need to commit the changes, merge them, and publish the crate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cli STG-4 Indepth coverage of features, post public
Projects
None yet
Development

No branches or pull requests

2 participants