-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Implement crate publishing on CI #12768
Implement crate publishing on CI #12768
Conversation
db0006a
to
19cf623
Compare
495bd87
to
4c15fea
Compare
6a2990d
to
5b45123
Compare
a7d2886
to
1d8990f
Compare
ensure that at most one instance of the publish-crates job is running at any given time to prevent race conditions
This reverts commit 29146bf.
bot merge |
Waiting for commit status. |
Okay this is completely wrong. I would be very happy that we don't do these things nor that we approve these kind of things. The underlying issue here being that we enable features for dev dependencies, which is wrong. To solve this issue properly, you need to remove the enabling of features from dev dependencies. Next time please reach out to the devs before doing this. |
This fixes the crates: #12899 |
The change was made to work around how the code was set up at the time. I couldn't intuit that the code was "wrong" before since it was presumably approved by the devs the way it was. Glad to know that there is a proper fix in #12899. |
Yes I know that the initial "wrong" cargo tomls weren't added by you. However, it failing in your process you could have asked in Substrate channel or similar on these things! |
@bkchr definitely, I'll keep it in mind for next time. Thanks for the tip. |
Thank you @joao-paulo-parity :) |
* implement crate publishing from CI * fix indentation * use resource_group for job exclusivity ensure that at most one instance of the publish-crates job is running at any given time to prevent race conditions * correct publish = false * Remove YAML anchors as GitLab's `extends:` doesn't need it * Temporarily force cache upload for the new jobs * Revert `RUSTY_CACHIER_FORCE_UPLOAD` * pin libp2p-tcp=0.37.0 for sc-telemetry * Revert "pin libp2p-tcp=0.37.0 for sc-telemetry" This reverts commit 29146bf. * always collect generated crates * increase timeout for publish-crates-template * Force upload the new job cache again * Revert "Force upload the new job cache again" This reverts commit 5a5feee. * reformat * improve timeout explanation * s/usual/average Co-authored-by: Vladimir Istyufeev <vladimir@parity.io>
* implement crate publishing from CI * fix indentation * use resource_group for job exclusivity ensure that at most one instance of the publish-crates job is running at any given time to prevent race conditions * correct publish = false * Remove YAML anchors as GitLab's `extends:` doesn't need it * Temporarily force cache upload for the new jobs * Revert `RUSTY_CACHIER_FORCE_UPLOAD` * pin libp2p-tcp=0.37.0 for sc-telemetry * Revert "pin libp2p-tcp=0.37.0 for sc-telemetry" This reverts commit 29146bf. * always collect generated crates * increase timeout for publish-crates-template * Force upload the new job cache again * Revert "Force upload the new job cache again" This reverts commit 5a5feee. * reformat * improve timeout explanation * s/usual/average Co-authored-by: Vladimir Istyufeev <vladimir@parity.io>
related to https://github.com/paritytech/release-engineering/issues/129 and https://github.com/paritytech/release-engineering/issues/122
See https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2107373 for an example.
Note that, although the publishing job is set up for
master
, publishing to crates.io won't be enabled quite yet because some parts of the publishing script are disabled for now (paritytech/releng-scripts#20). The idea is to try the script out for some time while only publishing to the local instance, and after we see that it works fine, the parts of the script which publishes to crates.io will be re-enabled gradually. We also need to resolve https://github.com/paritytech/release-engineering/issues/132 before that.Some notes for reviewers
[dev-dependencies]
before publishing crates, thus some dependencies have been copied from[dev-dependencies]
to[dependencies]
as optional entries so thatcargo
can find them while verifying the packages' features before publishing.Note also that their
[dependencies]
entries don't include aversion
field in their import declaration because it's not relevant for them.rusty-cachier
kicks in.rusty-cachier
's cache will only be created after the job runs onmaster
.close #12678
close https://github.com/paritytech/release-engineering/issues/122
close https://github.com/paritytech/release-engineering/issues/129