chore: rename packages to allow cargo publish#22
Conversation
|
Suggested version: Changes in configuration file(s): (empty)Cutting a Release (and modifying non-markdown files)This PR is modifying both Automatically created GitHub ReleaseA draft GitHub Release has been created. |
d7efae4 to
983d281
Compare
| @@ -1,54 +0,0 @@ | |||
| name: Release Checker | |||
There was a problem hiding this comment.
This workflow and the two below are left over from the repo we cloned to create this repo. They aren't needed afaik, and don't seem to work anyway so I am removing them.
| edition = "2021" | ||
| repository = "https://github.com/filecoin-project/builtin-actors" | ||
|
|
||
| # TODO: I don't believe we need this `[package]` section. We are publishing packages individually |
There was a problem hiding this comment.
This top level package declaration should not be needed anymore, but this PR was large enough that I just left it for now in hopes of not further complicating things.
| test_vm = { path = "test_vm" } | ||
|
|
||
| # package we publish from `contracts` repo | ||
| recall_sol_facade = "0.1.2" |
There was a problem hiding this comment.
This is the change found in recallnet/contracts#104
| # Enable the test_utils feature when testing. | ||
| fil_actors_runtime = { workspace = true, features = ["test_utils"] } | ||
| # TODO: I commented this out. How can a packaege be it's own dependency? | ||
| #recall_fil_actors_runtime = { workspace = true, features = ["test_utils"] } |
There was a problem hiding this comment.
I'm not really sure what was going on here, but commenting this out seems ok. If someone else finds a reason to un-comment we can revisit
To get the latest changes to the solidity facade publish to Crates.io I updated the version and manually published. This is needed for recallnet/builtin-actors#22 This also includes some changes made by the linter and the addition of a README to the crate.
To get the latest changes to the solidity facade publish to Crates.io I updated the version and manually published. This is needed for recallnet/builtin-actors#22 This also includes some changes made by the linter and the addition of a README to the crate.
fixes: #21
Overview
This PR is an attept to set up publishing the packages in this repo to Crates.io using the
recall_prefix, with the end goal of being able to publish the packages in https://github.com/recallnet/ipc followed by publishing the rust SDK to Crates.In order to publish the
recallnet/ipcrepo we need the following four packages published from this repo.fil_actors_evm_sharedfil_actor_eamfil_actor_admfil_actors_runtimeDetails
3 of the above 4 pacakges are currently published, and one is not. Of the three published, at least one is invalid, and I'm uncertain the status of the other two.
As explained in #21 we can get around this by publishing our own versions of the packages in this repo. Unfortunately publishing normally is blocked by an issue with the
fvm_sharedpackage.fvm_sharedversion4.3.0has a dependency tofvm_ipld_encodingthat is set at^0.4.0. The use of the^in setting the version range results in an issue when trying to publish becausecargo publishignores the root level lockfile.cargo buildworks as expected because it is aware of Cargo.lock. See here for details.fvm_ipld_encodingintroduced a breaking change in version0.5.0, so it's not possible for us to publish this repo the way we are publishing other repos. There are other people who have had the same issue publishing from a workspace that we are having here. There is a nightly version of cargo that supports a flag that allows publishing all packages in a workspace, and this feature includes the ability to honor the lockfile's explicit versions. See here for details.I've tested the changes in this PR using the
--dry-runflag and publishing manually seems to work. Hopefully we won't be changing the code in this repo often (maybe never?), so doing a manual publish seems like it might be better than trying to work through the complexity of automating a workflow.TL;DR;
I'd propose we merge the changes here, and I will publish a recall version of the packages in this repo manually.
Update March 26
I went ahead and published version
0.0.0with the following process:rustup run nightly cargo -Zpackage-workspace publish --locked --package recall_vm_apirustup run nightly cargo -Zpackage-workspace publish --locked --package recall_fil_actors_runtimerustup run nightly cargo -Zpackage-workspace publish --locked --package recall_fil_actors_evm_sharedrustup run nightly cargo -Zpackage-workspace publish --locked --package recall_fil_actor_evmrustup run nightly cargo -Zpackage-workspace publish --locked --package recall_fil_actor_eamrustup run nightly cargo -Zpackage-workspace publish --locked --package recall_fil_actor_admUpdate April 9
After rebasing on top of the sol facade changes and updating the fvm dependencies to use the
~character instead of the default^we no longer need to use the rust nightly channel to publish.There are a ton of changes here, but the main thing is that we needed to add the
recall_prefix to package names so that we could publish to crates without interfering with the packages that this repo cloned.