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

Release 0.17.0 #802

Merged
merged 1 commit into from
Feb 1, 2023
Merged

Release 0.17.0 #802

merged 1 commit into from
Feb 1, 2023

Conversation

fw-immunant
Copy link
Contributor

@fw-immunant fw-immunant commented Jan 28, 2023

This has been a long time coming, but we've now merged all the dep updates and gotten our release process in shape.

@fw-immunant fw-immunant linked an issue Jan 28, 2023 that may be closed by this pull request
@fw-immunant
Copy link
Contributor Author

Hoping to make the release late Monday if no issues crop up.

scripts/update-versions.sh Outdated Show resolved Hide resolved
scripts/update-versions.sh Outdated Show resolved Hide resolved
Copy link
Contributor

@kkysen kkysen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are a few things missing from this. Published packages require description, license/license-file, and documentation/homepage/repository fields, which most of the new packages don't have. To fix part of this, I opened #804, which also unifies package versions, which makes this PR simpler. #805 then adds the package descriptions.

Also, I don't think we should bump version numbers for the unmaintained packages, namely c2rust-macros and c2rust-refactor. I don't think we should publish new versions of them if they are unchanged and unmaintained.

I'm also not sure the update-versions.sh script is the best idea vs. something much more polished and widely used like cargo-release. cargo-release should get all the little details right that this script probably won't. For example, it immediately detected that we're missing a bunch of the required package fields for publishing. If there's a suitable alternative that's fairly widely used, I think that's better than our own script that we'll have to maintain, which also adds dependencies on things like sponge.

Regardless, I think we should merge #804 first, which then simplifies this PR, and also open a PR that includes descriptions for all of the new packages (#805).

@fw-immunant
Copy link
Contributor Author

Sharing versions via workspace inheritance breaks the script anyway, so I've removed it. I also couldn't get cargo-release to do the right thing, trying cargo release minor and cargo release --workspace minor and also the --dependent-version=upgrade flag.

@fw-immunant
Copy link
Contributor Author

fw-immunant commented Jan 30, 2023

I think we should bump version numbers for all crates in the repo to avoid divergence. If we want to delete the c2rust-refactor and c2rust-macros crates entirely, we can--they'll still be in the history. We don't need to release old, deprecated crates on crates.io, nor do I think it makes sense to release the new analysis/runtime/pdg crates; they aren't in any state where it would be a good idea to get them from crates.io rather than GitHub. We should release just these crates:

  • c2rust
  • c2rust-asm-casts
  • c2rust-ast-builder
  • c2rust-ast-exporter
  • c2rust-ast-printer
  • c2rust-bitfields
  • c2rust-bitfields-derive
  • c2rust-build-paths
  • c2rust-transpile

@kkysen
Copy link
Contributor

kkysen commented Jan 30, 2023

I think we should bump version numbers for all crates in the repo to avoid divergence. If we want to delete the c2rust-refactor and c2rust-macros crates entirely, we can--they'll still be in the history.

Not sure it's the best idea, but I don't think it really matters either way. They were bumped to 0.16.0 even after being retired anyways.

We don't need to release old, deprecated crates on crates.io

👍

nor do I think it makes sense to release the new analysis/runtime/pdg crates; they aren't in any state where it would be a good idea to get them from crates.io rather than GitHub.

👍

We should release just these crates:

  • c2rust
  • c2rust-asm-casts
  • c2rust-ast-builder
  • c2rust-ast-exporter
  • c2rust-ast-printer
  • c2rust-transpiler
  • c2rust-bitfields
  • c2rust-bitfields-derive
  • c2rust-build-paths
  • c2rust-transpile

👍 , except I think there's a typo in c2rust-transpiler (duplicate/nonexistent)

Copy link
Contributor

@kkysen kkysen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One minor nit, but otherwise I think it's all good for a release now!

@@ -19,11 +19,11 @@ assert_matches = "1.5.0"
indexmap = "1.9.2"

[build-dependencies]
c2rust-build-paths = { path = "../c2rust-build-paths" }
c2rust-build-paths = { path = "../c2rust-build-paths" , version = "0.17.0" }
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Usually version goes before path and there's no space before the ,.

@kkysen
Copy link
Contributor

kkysen commented Jan 30, 2023

Sharing versions via workspace inheritance breaks the script anyway, so I've removed it.

👍

I also couldn't get cargo-release to do the right thing, trying cargo release minor and cargo release --workspace minor and also the --dependent-version=upgrade flag.

cargo release version minor at least worked for upgrading the versions and dependencies for me, though it doesn't upgrade them in non-workspace packages like the analysis/tests/ or tests/ crates.

we now version all crates in lockstep

as they are developed together, they will never depend on different versions of each other
@fw-immunant fw-immunant merged commit 1c6a51a into master Feb 1, 2023
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.

Update crates.io release
2 participants