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

Working towards a more reproductible release process #761

Closed
jbeaurivage opened this issue Sep 17, 2024 · 1 comment
Closed

Working towards a more reproductible release process #761

jbeaurivage opened this issue Sep 17, 2024 · 1 comment

Comments

@jbeaurivage
Copy link
Contributor

@ianrrees and I have recently had multiple conversations about the CI/CD pipeline, more specifically about the way we release crates. There are a few things we want to improve. Not everything has to be addressed immediately, but I wanted to document it here before it gets lost in the Matrix sauce.

  • The first thing is that we are currently publishing BSPs is in batches. ie, we try to shotgun-publish all BSPs at once, and just ignore the ones which already are published in crates.io. This obviously isn't great. The BSP publishing process should go according to these rules:
    • Tier 1 BSPs should all be published together
    • Since the BSPs reexport atsamd-hal, any release of the HAL should trigger a re-release of the Tier 1 BSPs with the same bump level (patch, minor or major).
    • Tier 2 BSPs should be published individually (or through a user-provided list of crates to publish)
    • Ideally, we'd like to reuse the "publish an individual crate" script and simply pass it a list of BSPs to cover all use cases
  • Tier 1 BSPs specify a path dependency. However, their crates.io published counterparts use the crates.io version of the HAL. Therefore we'd like to test build the BSPs against the crates.io atsamd-hal version before publishing them. Turns out this is somewhat tricky as there's no nice way to tell Cargo to ignore path dependencies through CLI options, so we'd need to mess with the crates' Cargo.toml using sed or something similar.
@jbeaurivage
Copy link
Contributor Author

Closed via #762.

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