paritytech / cargo-unleash

cargo release automatisation tooling for massiv mono-repos
61 stars 14 forks source link

Publishing multiple unreleased packages, but not all in the workspace, fails #77

Open drahnr opened 2 years ago

drahnr commented 2 years ago

cargo unleash git version 278449633fc6549fa7804703d99138d6e4bfe8d5

cargo unleash version set 0.0.1 -p orchestra -p orchestra-proc-macro
cargo unleash em-dragons --dry-run -p orchestra -p orchestra-proc-macro

https://github.com/paritytech/polkadot/pull/5579

cargo unleash version set 0.0.1 -p orchestra -p orchestra-proc-macro
cargo unleash em-dragons --dry-run -p orchestra -p orchestra-proc-macro
     Bumping orchestra: 0.0.1 -> 0.0.1
     Bumping orchestra-proc-macro: 0.0.1 -> 0.0.1
    Updating Dependency tree
    Updating polkadot-cli
        Done No dependency updates
    Updating polkadot-client
        Done No dependency updates
    Updating kusama-runtime
        Done No dependency updates
    Updating kusama-runtime-constants
        Done No dependency updates
    Updating polkadot-primitives
        Done No dependency updates
    Updating polkadot-core-primitives
        Done No dependency updates
    Updating polkadot-parachain
        Done No dependency updates
    Updating polkadot-runtime-common
        Done No dependency updates
    Updating polkadot-runtime-parachains
        Done No dependency updates
    Updating polkadot-runtime-metrics
        Done No dependency updates
    Updating xcm
        Done No dependency updates
    Updating xcm-procedural
        Done No dependency updates
    Updating xcm-executor
        Done No dependency updates
    Updating polkadot-primitives-test-helpers
        Done No dependency updates
    Updating slot-range-helper
        Done No dependency updates
    Updating pallet-xcm
        Done No dependency updates
    Updating xcm-builder
        Done No dependency updates
    Updating pallet-xcm-benchmarks
        Done No dependency updates
    Updating polkadot-node-core-parachains-inherent
        Done No dependency updates
    Updating tracing-gum
        Done No dependency updates
    Updating tracing-gum-proc-macro
        Done No dependency updates
    Updating polkadot-node-jaeger
        Done No dependency updates
    Updating polkadot-node-primitives
        Done No dependency updates
    Updating polkadot-erasure-coding
        Done No dependency updates
    Updating polkadot-node-subsystem
        Done No dependency updates
    Updating polkadot-node-subsystem-types
        Done One dependency updated
    Updating orchestra
        Done No dependency updates
    Updating prioritized-metered-channel
        Done No dependency updates
    Updating orchestra-proc-macro
        Done No dependency updates
    Updating polkadot-node-network-protocol
        Done No dependency updates
    Updating polkadot-statement-table
        Done No dependency updates
    Updating polkadot-overseer
        Done One dependency updated
    Updating polkadot-node-metrics
        Done No dependency updates
    Updating polkadot-test-service
        Done No dependency updates
    Updating polkadot-rpc
        Done No dependency updates
    Updating polkadot-service
        Done No dependency updates
    Updating polkadot-approval-distribution
        Done No dependency updates
    Updating polkadot-node-subsystem-util
        Done No dependency updates
    Updating polkadot-node-subsystem-test-helpers
        Done No dependency updates
    Updating polkadot-availability-bitfield-distribution
        Done No dependency updates
    Updating polkadot-availability-distribution
        Done No dependency updates
    Updating polkadot-availability-recovery
        Done No dependency updates
    Updating polkadot-collator-protocol
        Done No dependency updates
    Updating polkadot-dispute-distribution
        Done No dependency updates
    Updating polkadot-gossip-support
        Done No dependency updates
    Updating polkadot-network-bridge
        Done No dependency updates
    Updating polkadot-node-collation-generation
        Done No dependency updates
    Updating polkadot-node-core-approval-voting
        Done No dependency updates
    Updating polkadot-node-core-av-store
        Done No dependency updates
    Updating polkadot-node-core-backing
        Done No dependency updates
    Updating polkadot-node-core-bitfield-signing
        Done No dependency updates
    Updating polkadot-node-core-candidate-validation
        Done No dependency updates
    Updating polkadot-node-core-pvf
        Done No dependency updates
    Updating test-parachain-adder
        Done No dependency updates
    Updating test-parachain-halt
        Done No dependency updates
    Updating polkadot-node-core-chain-api
        Done No dependency updates
    Updating polkadot-node-core-chain-selection
        Done No dependency updates
    Updating polkadot-node-core-dispute-coordinator
        Done No dependency updates
    Updating polkadot-node-core-provisioner
        Done No dependency updates
    Updating polkadot-node-core-pvf-checker
        Done No dependency updates
    Updating polkadot-node-core-runtime-api
        Done No dependency updates
    Updating polkadot-runtime
        Done No dependency updates
    Updating polkadot-runtime-constants
        Done No dependency updates
    Updating polkadot-statement-distribution
        Done No dependency updates
    Updating rococo-runtime
        Done No dependency updates
    Updating bp-messages
        Done No dependency updates
    Updating bp-runtime
        Done No dependency updates
    Updating bp-rococo
        Done No dependency updates
    Updating bp-polkadot-core
        Done No dependency updates
    Updating bp-wococo
        Done No dependency updates
    Updating bridge-runtime-common
        Done No dependency updates
    Updating bp-message-dispatch
        Done No dependency updates
    Updating pallet-bridge-dispatch
        Done No dependency updates
    Updating pallet-bridge-grandpa
        Done No dependency updates
    Updating bp-header-chain
        Done No dependency updates
    Updating bp-test-utils
        Done No dependency updates
    Updating pallet-bridge-messages
        Done No dependency updates
    Updating rococo-runtime-constants
        Done No dependency updates
    Updating westend-runtime
        Done No dependency updates
    Updating westend-runtime-constants
        Done No dependency updates
    Updating polkadot-test-client
        Done No dependency updates
    Updating polkadot-test-runtime
        Done No dependency updates
    Updating test-runtime-constants
        Done No dependency updates
    Updating polkadot-performance-test
        Done No dependency updates
    Updating xcm-executor-integration-tests
        Done No dependency updates
    Updating xcm-simulator
        Done No dependency updates
    Updating xcm-simulator-example
        Done No dependency updates
    Updating xcm-simulator-fuzzer
        Done No dependency updates
    Updating polkadot-test-malus
        Done No dependency updates
    Updating zombienet-backchannel
        Done No dependency updates
    Updating test-parachains
        Done No dependency updates
    Updating test-parachain-adder-collator
        Done No dependency updates
    Updating test-parachain-undying
        Done No dependency updates
    Updating test-parachain-undying-collator
        Done No dependency updates
    Updating staking-miner
        Done No dependency updates
    Updating remote-ext-tests-bags-list
        Done No dependency updates
    Updating polkadot-voter-bags
        Done No dependency updates
    Updating polkadot
        Done No dependency updates
   Preparing Disabling Dev Dependencies
    Patching orchestra
    Patching orchestra-proc-macro
   Resolving Dependency Tree
     Syncing Versions from crates.io
    Updating crates.io index
    Checking Metadata & Dependencies
     Packing orchestra-proc-macro v0.0.1 (/media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/proc-macro)
WARN [cargo::sources::path] list_files_git orchestra-proc-macro v0.0.1 (/media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/proc-macro)
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/proc-macro/Cargo.toml
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/proc-macro/build.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/proc-macro/src/impl_builder.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/proc-macro/src/impl_channels_out.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/proc-macro/src/impl_message_wrapper.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/proc-macro/src/impl_orchestra.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/proc-macro/src/impl_subsystem_ctx_sender.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/proc-macro/src/lib.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/proc-macro/src/orchestra.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/proc-macro/src/parse/mod.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/proc-macro/src/parse/parse_orchestra_attr.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/proc-macro/src/parse/parse_orchestra_struct.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/proc-macro/src/parse/parse_subsystem_attr.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/proc-macro/src/parse/tests.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/proc-macro/src/subsystem.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/proc-macro/src/tests.rs
   Packaging orchestra-proc-macro v0.0.1 (/media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/proc-macro)
     Packing orchestra v0.0.1 (/media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra)
WARN [cargo::sources::path] list_files_git orchestra v0.0.1 (/media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra)
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/Cargo.toml
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/README.md
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/adr/01-adr.md
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/examples/duo.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/examples/misc.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/examples/solo.rs
WARN [cargo::sources::path] subpackage found: /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/proc-macro
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/src/lib.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/src/tests.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/tests/ui/err-01-duplicate-consumer.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/tests/ui/err-01-duplicate-consumer.stderr
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/tests/ui/err-02-enum.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/tests/ui/err-02-enum.stderr
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/tests/ui/err-03-subsys-twice.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/tests/ui/err-03-subsys-twice.stderr
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/tests/ui/err-04-missing-error.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/tests/ui/err-04-missing-error.stderr
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/tests/ui/err-05-missing-field.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/tests/ui/err-05-missing-field.stderr
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/tests/ui/err-06-missing-subsystem.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/tests/ui/err-06-missing-subsystem.stderr
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/tests/ui/err-07-missing-spawner.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/tests/ui/err-07-missing-spawner.stderr
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/tests/ui/err-08-duplicate-subsystem.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/tests/ui/err-08-duplicate-subsystem.stderr
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/tests/ui/err-09-uninit_generic_baggage.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/tests/ui/err-09-uninit_generic_baggage.stderr
WARN [cargo::sources::path]   found /media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra/tests/ui/ok-01-wip.rs
   Packaging orchestra v0.0.1 (/media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra)
    Blocking waiting for file lock on package cache
error: failed to prepare local package for uploading

Caused by:
  failed to select a version for the requirement `orchestra-proc-macro = "^0.0.1"`
  candidate versions found which didn't match: 0.0.0
  location searched: crates.io index
  required by package `orchestra v0.0.1 (/media/supersonic1t/projects/parity/polkadot/node/overseer/orchestra)`
ERROR [cargo_unleash::commands::check] "Failure packing orchestra: failed to prepare local package for uploading"
Error: Packing failed with 1 errors (see above)
drahnr commented 2 years ago
**cargo unleash --log=info --verbose em-dragons 
   Preparing Disabling Dev Dependencies
    Patching doc-chunks
    Patching cargo-spellcheck
   Resolving Dependency Tree
     Syncing Versions from crates.io
    Updating crates.io index
    Checking Metadata & Dependencies
     Packing doc-chunks v0.0.1 (/media/supersonic1t/projects/cargo-spellcheck/doc-chunks)
WARN [cargo::sources::path] list_files_git doc-chunks v0.0.1 (/media/supersonic1t/projects/cargo-spellcheck/doc-chunks)
WARN [cargo::sources::path]   found /media/supersonic1t/projects/cargo-spellcheck/doc-chunks/Cargo.toml
WARN [cargo::sources::path]   found /media/supersonic1t/projects/cargo-spellcheck/doc-chunks/README.md
WARN [cargo::sources::path]   found /media/supersonic1t/projects/cargo-spellcheck/doc-chunks/src/chunk.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/cargo-spellcheck/doc-chunks/src/cluster.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/cargo-spellcheck/doc-chunks/src/developer.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/cargo-spellcheck/doc-chunks/src/errors.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/cargo-spellcheck/doc-chunks/src/lib.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/cargo-spellcheck/doc-chunks/src/literal.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/cargo-spellcheck/doc-chunks/src/literalset.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/cargo-spellcheck/doc-chunks/src/markdown.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/cargo-spellcheck/doc-chunks/src/span.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/cargo-spellcheck/doc-chunks/src/tests.rs
WARN [cargo::sources::path]   found /media/supersonic1t/projects/cargo-spellcheck/doc-chunks/src/util.rs
   Packaging doc-chunks v0.0.1 (/media/supersonic1t/projects/cargo-spellcheck/doc-chunks)
   Archiving Cargo.toml
   Archiving Cargo.toml.orig
   Archiving README.md
   Archiving src/chunk.rs
   Archiving src/cluster.rs
   Archiving src/developer.rs
   Archiving src/errors.rs
   Archiving src/lib.rs
   Archiving src/literal.rs
   Archiving src/literalset.rs
   Archiving src/markdown.rs
   Archiving src/span.rs
   Archiving src/tests.rs
   Archiving src/util.rs
     Packing cargo-spellcheck v0.11.3 (/media/supersonic1t/projects/cargo-spellcheck)
   Packaging cargo-spellcheck v0.11.3 (/media/supersonic1t/projects/cargo-spellcheck)
   Archiving CHANGELOG.md
   Archiving Cargo.lock
error: failed to prepare local package for uploading

Caused by:
  no matching package named `doc-chunks` found
  location searched: registry `crates-io`
  required by package `cargo-spellcheck v0.11.3 (/media/supersonic1t/projects/cargo-spellcheck)`
ERROR [cargo_unleash::commands::check] "Failure packing cargo-spellcheck: failed to prepare local package for uploading"
Error: Packing failed with 1 errors (see above)
**

Also happens on a smaller scale:

# root
[package]
name = "cargo-spellcheck"
version = "0.11.3"
authors = ["Bernhard Schuster <bernhard@ahoi.io>"]
edition = "2021"
rust-version = "1.57.0"
repository = "https://github.com/drahnr/cargo-spellcheck.git"
homepage = "https://github.com/drahnr/cargo-spellcheck"
license = "MIT OR Apache-2.0"
keywords = ["spellcheck", "spelling", "grammar"]
description = "Checks all doc comments for spelling mistakes"
readme = "README.md"
build = "build.rs"
include = [
    "nlprule-data/**/*.bin.xz",
    "hunspell-data/*",
    "src/**/*.rs",
    "Cargo.toml",
    "build.rs",
    "/LICENSE-*",
    "/README.md",
    "tests/**/*.rs",
    "CHANGELOG.md"
]

[workspace]
members = ["./doc-chunks"]

[build-dependencies]
nlprule-build = { version = "=0.6.4",  optional = true }
# compress the nlprule artifacts to be under the 10 MB limit
# that cargo enforces
xz2 = "0.1"

[dependencies]

doc-chunks = { version = "0.0.1", path = "./doc-chunks" }

color-eyre = "0.6"
cargo_toml = "^0.11.4"
console = "0.15"
crossterm = "0.23.2"
# for the config file
directories = "4.0.1"

clap = { version = "3.1", features = ["derive", "env"] }
clap-verbosity-flag = "1.0.0"
clap_complete = "3.1"

env_logger = "0.9"
fancy-regex = "0.10"
fs-err = "2"
indexmap = { version = "1", features=["rayon", "serde"] }
itertools = "0.10"
lazy_static = "1"
memchr = "2"
log = "0.4"
num_cpus = "1.13"
proc-macro2 = { version = "1", features = ["span-locations"] }
pulldown-cmark = "0.9.1"
ra_ap_syntax = "0.0.104"
rayon = "1.5"
regex = "1.5"
serde = { version = "1", features = ["derive"] }
signal-hook = "0.3"
syn = { version = "1", features = ["full"] }
thiserror = "1"
# for parsing and extracting elements from Cargo.toml
toml = "0.5"
glob = "0.3"
# for the config file
walkdir = "2"
tokio = { version = "1", features = ["full", "rt-multi-thread"] }
futures = "0.3"

uuid = { version = "1.0.0", features = ["v4"] }

# config parsing, must be independent of features

# TODO parse the country codes of dictionaries?
iso_country = { version = "0.1", features = ["serde"] }
isolang = { version = "2", features = ["serde"] }

url = { version = "2", features = ["serde"] }

# dictionary lookup with affixes
hunspell-rs = { version = "0.3", optional = true }
fd-lock = { version = "3", optional = true }

# full grammar check, but also tokenization and disambiguation
nlprule = { version = "=0.6.4", optional = true }

# cache some expensive expansions
xz2 = "0.1"
sha2 = "0.10"
bincode = "1"
hex = "0.4"
thousands = "0.2"

[features]
default = ["hunspell", "nlprules"]

# hunspell uses the segmenter provided by nlprules
hunspell = ["hunspell-rs/bundled", "fd-lock", "nlprules"]
nlprules = ["nlprule/regex-fancy", "nlprule-build"]

all = ["hunspell", "nlprules"]

[profile.dev]
build-override = { opt-level = 2 }

[profile.dev.package]
backtrace = { opt-level = 3 }
bincode = { opt-level = 3 }
xz2 = { opt-level = 3 }
sha2 = { opt-level = 3 }
hunspell-rs = { opt-level = 3 }
nlprule = { opt-level = 3 }

[profile.release]
debug = true

[package.metadata.spellcheck]
config = ".config/spellcheck.toml"

[[test]]
name = "signal_handler"
path = "tests/signal_handler.rs"
# doc-chunks
[package]
name = "doc-chunks"
version = "0.0.1"
authors = ["Bernhard Schuster <bernhard@ahoi.io>"]
edition = "2021"
rust-version = "1.57.0"
repository = "https://github.com/drahnr/cargo-spellcheck.git"
homepage = "https://github.com/drahnr/cargo-spellcheck"
license = "MIT OR Apache-2.0"
keywords = ["documentation", "chunks", "cluster"]
description = "Clusters of doc comments and dev comments as coherent view."
readme = "README.md"

[dependencies]
console = "0.15"
fs-err = "2"
indexmap = { version = "1", features=["rayon", "serde"] }
itertools = "0.10"
lazy_static = "1"
memchr = "2"
log = "0.4"
proc-macro2 = { version = "1", features = ["span-locations"] }
pulldown-cmark = "0.9.1"
ra_ap_syntax = "0.0.104"
rayon = "1.5"
fancy-regex = "0.10"
regex = "1"
serde = { version = "1", features = ["derive"] }
syn = { version = "1", features = ["full"] }
thiserror = "1"
toml = "0.5"