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

Update crucible version #262

Merged
merged 1 commit into from
Dec 3, 2022
Merged

Conversation

sunshowers
Copy link
Contributor

This is PR 2 of N to make sure that omicron doesn't get two separate
dependencies, one for progenitor with main and one for progenitor
without main.

For PR 1, see oxidecomputer/crucible#552.

Without this fix, omicron ends up with two separate versions of
crucible, which causes build failures in omicron.

The update caused some breakage from
oxidecomputer/crucible#516, which I've tried to
address (cc @leftwo to confirm that my changes look good).

Created using spr 1.3.4
@sunshowers
Copy link
Contributor Author

Thanks!

@gjcolombo
Copy link
Contributor

My pleasure--thanks for the changes! (I've made basically the same edits locally for some other work I'm doing and can confirm that all this seems to work fine with the Crucible integration tests I'm writing.)

@sunshowers sunshowers merged commit b596e72 into master Dec 3, 2022
@sunshowers sunshowers deleted the sunshowers/spr/update-crucible-version branch December 3, 2022 00:08
sunshowers added a commit to oxidecomputer/omicron that referenced this pull request Dec 5, 2022
This is PR 3 of N in this series. For the earlier ones, see:

* oxidecomputer/crucible#552
* oxidecomputer/propolis#262

Currently, we specify the progenitor dependency as both:

```toml
progenitor-client = { git = "https://github.com/oxidecomputer/progenitor", branch = "main" }
```

And

```toml
progenitor-client = { git = "https://github.com/oxidecomputer/progenitor" }
```

Cargo (due to rust-lang/cargo#7497) doesn't
dedup these dependencies even
though they resolve to the same branch and hash. This causes issues with
`cargo doc` colliding with itself, as it tries to document both:

```
Documenting progenitor-impl v0.2.1-dev (https://github.com/oxidecomputer/progenitor#4b5cef4b)
Documenting progenitor-impl v0.2.1-dev (https://github.com/oxidecomputer/progenitor?branch=main#4b5cef4b)
```

Fix this by always using the branch name. (We choose this option over
not specifying the branch so to maintain uniformity in cases where a
non-default branch must be used.)

This also requires a crucible update, since that didn't specify a branch
either. And the crucible update necessitates a propolis update to get
the versions aligned.

In the future it would be nice to have a lint which ensures that git
dependencies always have the branch name in them.
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 this pull request may close these issues.

2 participants