Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Annotate crates not meant to be published with publish = false #12678

Closed
joao-paulo-parity opened this issue Nov 10, 2022 · 8 comments · Fixed by #12768
Closed

Annotate crates not meant to be published with publish = false #12678

joao-paulo-parity opened this issue Nov 10, 2022 · 8 comments · Fixed by #12768
Assignees

Comments

@joao-paulo-parity
Copy link
Contributor

joao-paulo-parity commented Nov 10, 2022

For the upcoming Automated Substrate crates' Release effort, it'll be easier to detect if a crate is not meant to be published if its Cargo.toml includes a publish = false. This is recommended in https://doc.rust-lang.org/cargo/reference/manifest.html#the-publish-field and also is a common practice for other Rust projects, e.g. https://github.com/awslabs/smithy-rs/blob/b2c989630fe42560264be8fe917f3f1950c8e30f/rust-runtime/aws-smithy-types/fuzz/Cargo.toml#L5.

The absence of those annotations isn't a blocker for the publishing since we can work around it through custom exclusion lists, but it'd be nice to have those annotations directly in the repository.

In case all crates are meant to be published, feel free to close this ticket.

@vjgaur
Copy link
Contributor

vjgaur commented Nov 14, 2022

@joao-paulo-parity I want to take up this issue.

@joao-paulo-parity
Copy link
Contributor Author

@vjgaur Thanks for being willing to help. Unfortunately I don't know if I'm supposed to assign tickets in this project. I'll leave that up to the @paritytech/substrateteamleads.

@joao-paulo-parity
Copy link
Contributor Author

Here's a list of all the crates in master as of this writing:

$ cargo tree --workspace --depth 0 --prefix none | awk '{ if (length($1) == 0 || substr($1, 1, 1) == "[") { skip } else { print $1 } }' | sort | uniq
beefy-gadget
beefy-gadget-rpc
beefy-merkle-tree
beefy-primitives
chain-spec-builder
fork-tree
frame-benchmarking
frame-benchmarking-cli
frame-election-provider-solution-type
frame-election-provider-support
frame-election-solution-type-fuzzer
frame-executive
frame-support
frame-support-procedural
frame-support-procedural-tools
frame-support-procedural-tools-derive
frame-support-test
frame-support-test-compile-pass
frame-support-test-pallet
frame-system
frame-system-benchmarking
frame-system-rpc-runtime-api
frame-try-runtime
generate-bags
kitchensink-runtime
node-bench
node-cli
node-executor
node-inspect
node-primitives
node-rpc
node-runtime-generate-bags
node-template
node-template-runtime
node-testing
pallet-alliance
pallet-assets
pallet-asset-tx-payment
pallet-atomic-swap
pallet-aura
pallet-authority-discovery
pallet-authorship
pallet-babe
pallet-bags-list
pallet-bags-list-fuzzer
pallet-bags-list-remote-tests
pallet-balances
pallet-beefy
pallet-beefy-mmr
pallet-bounties
pallet-child-bounties
pallet-collective
pallet-contracts
pallet-contracts-primitives
pallet-contracts-proc-macro
pallet-conviction-voting
pallet-democracy
pallet-election-provider-multi-phase
pallet-election-provider-support-benchmarking
pallet-elections-phragmen
pallet-example-basic
pallet-example-offchain-worker
pallet-fast-unstake
pallet-gilt
pallet-grandpa
pallet-identity
pallet-im-online
pallet-indices
pallet-lottery
pallet-membership
pallet-mmr
pallet-mmr-rpc
pallet-multisig
pallet-nicks
pallet-node-authorization
pallet-nomination-pools
pallet-nomination-pools-benchmarking
pallet-nomination-pools-fuzzer
pallet-nomination-pools-runtime-api
pallet-nomination-pools-test-staking
pallet-offences
pallet-offences-benchmarking
pallet-preimage
pallet-proxy
pallet-randomness-collective-flip
pallet-ranked-collective
pallet-recovery
pallet-referenda
pallet-remark
pallet-root-offences
pallet-root-testing
pallet-scheduler
pallet-scored-pool
pallet-session
pallet-session-benchmarking
pallet-society
pallet-staking
pallet-staking-reward-curve
pallet-staking-reward-fn
pallet-state-trie-migration
pallet-sudo
pallet-template
pallet-timestamp
pallet-tips
pallet-transaction-payment
pallet-transaction-payment-rpc
pallet-transaction-payment-rpc-runtime-api
pallet-transaction-storage
pallet-treasury
pallet-uniques
pallet-utility
pallet-vesting
pallet-whitelist
remote-externalities
sc-allocator
sc-authority-discovery
sc-basic-authorship
sc-block-builder
sc-chain-spec
sc-chain-spec-derive
sc-cli
sc-client-api
sc-client-db
sc-consensus
sc-consensus-aura
sc-consensus-babe
sc-consensus-babe-rpc
sc-consensus-epochs
sc-consensus-manual-seal
sc-consensus-pow
sc-consensus-slots
sc-consensus-uncles
sc-executor
sc-executor-common
sc-executor-wasmi
sc-executor-wasmtime
sc-finality-grandpa
sc-finality-grandpa-rpc
sc-informant
sc-keystore
sc-network
sc-network-bitswap
sc-network-common
sc-network-gossip
sc-network-light
sc-network-sync
sc-network-test
sc-network-transactions
sc-offchain
sc-peerset
sc-proposer-metrics
sc-rpc
sc-rpc-api
sc-rpc-server
sc-rpc-spec-v2
sc-runtime-test
sc-service
sc-service-test
sc-state-db
sc-sync-state-rpc
sc-sysinfo
sc-telemetry
sc-tracing
sc-tracing-proc-macro
sc-transaction-pool
sc-transaction-pool-api
sc-utils
sp-api
sp-api-proc-macro
sp-api-test
sp-application-crypto
sp-application-crypto-test
sp-arithmetic
sp-arithmetic-fuzzer
sp-authority-discovery
sp-authorship
sp-block-builder
sp-blockchain
sp-consensus
sp-consensus-aura
sp-consensus-babe
sp-consensus-pow
sp-consensus-slots
sp-consensus-vrf
sp-core
sp-core-hashing
sp-core-hashing-proc-macro
sp-database
sp-debug-derive
sp-externalities
sp-finality-grandpa
sp-inherents
sp-io
sp-keyring
sp-keystore
sp-maybe-compressed-blob
sp-mmr-primitives
sp-npos-elections
sp-npos-elections-fuzzer
sp-offchain
sp-panic-handler
sp-rpc
sp-runtime
sp-runtime-interface
sp-runtime-interface-proc-macro
sp-runtime-interface-test
sp-runtime-interface-test-wasm
sp-runtime-interface-test-wasm-deprecated
sp-sandbox
sp-serializer
sp-session
sp-staking
sp-state-machine
sp-std
sp-storage
sp-test-primitives
sp-timestamp
sp-tracing
sp-transaction-pool
sp-transaction-storage-proof
sp-trie
sp-version
sp-version-proc-macro
sp-wasm-interface
sp-weights
subkey
substrate-build-script-utils
substrate-frame-cli
substrate-frame-rpc-support
substrate-frame-rpc-system
substrate-prometheus-endpoint
substrate-rpc-client
substrate-state-trie-migration-rpc
substrate-test-client
substrate-test-runtime
substrate-test-runtime-client
substrate-test-runtime-transaction-pool
substrate-test-utils
substrate-test-utils-derive
substrate-test-utils-test-crate
substrate-wasm-builder
try-runtime-cli

@bkchr
Copy link
Member

bkchr commented Nov 29, 2022

substrate-test-runtime
substrate-test-runtime-client
substrate-test-runtime-transaction-pool
substrate-test-utils
substrate-test-utils-derive
substrate-test-utils-test-crate
sc-network-test
sp-runtime-interface-test
sp-runtime-interface-test-wasm
sp-runtime-interface-test-wasm-deprecated
sp-application-crypto-test
sc-service-test
sc-runtime-test
kitchensink-runtime
node-bench
node-cli
node-executor
node-inspect
node-primitives
node-rpc
node-runtime-generate-bags
node-template
node-template-runtime
node-testing
frame-support-test
frame-support-test-compile-pass
frame-support-test-pallet

All these don't need to be published.

@vjgaur
Copy link
Contributor

vjgaur commented Nov 29, 2022

thanks I take it up

@vjgaur
Copy link
Contributor

vjgaur commented Nov 29, 2022

@bkchr I raised a PR with issue number #7557 sometime ago whose code is yet to be merged. Can you please help me merge this pr ? There are no reviewers yet assigned to it.

@joao-paulo-parity
Copy link
Contributor Author

@vjgaur FYI I have a WIP PR which includes the publish annotations at #12768, so it probably isn't worthwhile to have a another PR for this, as the change is pretty minor and not meaningful until we actually start publishing the crates

@vjgaur
Copy link
Contributor

vjgaur commented Nov 30, 2022

Alright than I leave it and move one to some other issue, Thanks for letting me know

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants