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

Dora-Message is not independant from dora-core crate which create conflict when trying to publish a new dora version #708

Closed
haixuanTao opened this issue Nov 11, 2024 · 3 comments · Fixed by #711
Assignees
Labels
bug Something isn't working

Comments

@haixuanTao
Copy link
Collaborator

Describe the bug
Currently dora-message depends on a fixed version of dora-core which means that publishing a new version of dora with requirement on newly added dora-core version will conflict with the pinned dora-core version of `dora-message.

Related to: #614

TODO:

We need to make dora-message independant from dora-core if we want to publish a new version of dora.

To Reproduce
Check: https://github.com/dora-rs/dora/actions/runs/11664027456/job/32473707635

@github-actions github-actions bot added the bug Something isn't working label Nov 11, 2024
@phil-opp
Copy link
Collaborator

Interesting! I think in this specific case the issue only occurs because you're trying to publish a pre-release, which is not valid for the 0.3.6 version requirement. My guess is that it would work for the actual 0.3.7 release (i.e. not a pre-release).

However, we should be able to do pre-releases and the tight coupling of dora-core and dora-message can probably lead to other problems too. So I agree that we should remove the dora-core dependency from dora-message.

@haixuanTao
Copy link
Collaborator Author

haixuanTao commented Nov 12, 2024

I mean from the error message:


Caused by:
  failed to select a version for `dora-core`.
      ... required by package `dora-message v0.4.0`
      ... which satisfies dependency `dora-message = "^0.4.0"` of package `dora-node-api v0.3.7-rc1 (/home/runner/work/dora/dora/target/package/dora-node-api-0.3.7-rc1)`
  versions that meet the requirements `^0.3.6` are: 0.3.6

  all possible versions conflict with previously selected packages.

    previously selected package `dora-core v0.3.7-rc1`
      ... which satisfies dependency `dora-core = "^0.3.7-rc1"` of package `dora-node-api v0.3.7-rc1 (/home/runner/work/dora/dora/target/package/dora-node-api-0.3.7-rc1)`

  failed to select a version for `dora-core` which could resolve this conflict

dora-message=0.4.0 was released with the 0.3.6 release pinning its dora-core version to 0.3.6. The only fix would be to release a 0.4.1 version pinning dora-core to 0.3.7, which I can do as a quick fix but, I don't think it is a pre-release issue.

@phil-opp
Copy link
Collaborator

I'm currently working on moving more stuff to dora message to avoid the dependency on dora core, so this should be properly fixed soon.

pinning its dora-core version to 0.3.6

Normal cargo dependencies are not pinned. They are equivalent to a ^0.3.6 requirement, which also permits newer sever-compatible versions. I think the specific error only occurred because the other workspace crates require dora core 0.3.7-rc1, which is a pre release and not semver compatible with 0.3.6.

A 0.3.7 release would be sever-compatible, so this specific error should not happen if we released 0.3.7 directly. However, as notes above, we want to be able to do pre-releases, so I'm working on a proper fix.

phil-opp added a commit that referenced this issue Nov 13, 2024
Make `dora-message` a dependency of `dora-core`, instead of the other way around. This way, we can continue to freely bump the version of `dora-core` with the other workspace crates, without introducing errors such as #708.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants