Skip to content

Take every dependency by version, leaving no git sources - #182

Merged
pathscale merged 3 commits into
masterfrom
build/deps-by-version-clean
Aug 20, 2026
Merged

Take every dependency by version, leaving no git sources#182
pathscale merged 3 commits into
masterfrom
build/deps-by-version-clean

Conversation

@pathscale

@pathscale pathscale commented Aug 20, 2026

Copy link
Copy Markdown
Owner

Every git dependency in this workspace is now a published version. Cargo.lock
resolves no git sources at all.

The runtime

tauri-runtime-blitz and blitz-control-protocol are published as 0.1.0, so
all three sites take a caret. The runtime could not be published before, and one
reason was a real bug rather than a flag:

  • publish = false in its workspace manifest.
  • A [patch] on usvg pointing at a DioxusLabs branch. crates.io refuses a
    crate with a git dependency.
  • macos-private-api was an empty feature that forwarded nothing.
    tauri-runtime declares WindowBuilder::transparent behind its own feature of
    that name and the runtime implements it behind the local one, so
    --all-features turned the local flag on without turning on tauri-runtime's,
    leaving the impl carrying a method the trait did not declare. crates.io
    verifies with every feature enabled, so it failed to package for the same
    reason it failed to check.

That last one is why the note above the dependency here changes: this manifest
was enabling the feature on both edges by hand to work around it. The
runtime forwards it itself now.

Fixed in pathscale/tauri-runtime-blitz@794b5d4.

agent-experimental

0.1.3 is published, so the last git dependency becomes a caret too. Its
comment is deleted rather than reworded — it existed to explain why this one was
different and what would change once it shipped, and neither holds now.

worktable

From a git rev to =1.0.0-beta.10, the version that rev already resolved to.
Exact rather than a caret, and deliberately not beta.11: master has moved
to an arctic-wt this workspace cannot select, and stepping the storage engine
is its own change with its own testing.

The usvg patch

Gone. cargo reported it as "not used in the crate graph": the published
ps-anyrender-svg depends on ps-usvg directly. A patch that matches nothing
is not inert — it is a git source in the manifest.

The one-rev script

Same fix chuzz's needed (pathscale/chuzz#26). grep exits 1 when it matches
nothing, and under pipefail that failed the check on a lockfile with no git
sources — which is now this workspace's normal state, so without this the check
would go red on the very thing it wants.

Verified

  • cargo test -p az-gui --features blitz-runtime: 271 pass, 0 fail
  • cargo test --workspace --exclude az-gui: all pass
  • cargo check -p az-gui --features blitz-inspector: clean (the glass path)
  • cargo check -p az-gui --features blitz-runtime,experimental: clean
  • cargo clippy ... -- -D warnings: clean · cargo fmt --all -- --check: clean
  • scripts/check-one-rev-per-git-source.sh: "no git sources"
  • grep -c 'source = "git+' Cargo.lock0

meh added 3 commits August 21, 2026 03:29
Five git dependencies, four of which no longer had to be one.

tauri-runtime-blitz and blitz-control-protocol are published as 0.1.0,
so both sites of each take a caret. The runtime could not be published
before: it set publish = false, it carried a dead [patch] on usvg, and
its macos-private-api feature forwarded nothing, so --all-features left
the impl carrying a WindowBuilder method the trait did not declare.
That last one is why the note above the dependency here changes: this
manifest was enabling the feature on both edges by hand to work around
it, and the runtime now forwards it itself.

worktable moves from a git rev to =1.0.0-beta.10, which is the version
that rev already resolved to. Exact, not a caret, and deliberately not
beta.11: master has moved to an arctic-wt this workspace cannot select,
and stepping the storage engine is its own change with its own testing.

The [patch.crates-io] on usvg is gone. cargo reported it as "not used in
the crate graph": the published ps-anyrender-svg depends on ps-usvg, so
nothing asks for plain usvg any more.

agent-experimental stays. It is a third-party GitLab repository behind
an off-by-default feature, so there is nothing to publish and nothing a
default build resolves.

The one-rev script gains the same fix chuzz's needed: grep exits 1 when
it matches nothing, and under pipefail that fails the check on a
lockfile with no git sources at all. Only agent-experimental keeps that
from firing here today.
Two comments said it was the dependency this workspace could not
publish its way out of. It is going to be published under its own
crates.io account, so the empty-lockfile case the one-rev script now
handles is where this is heading rather than a hypothetical.
0.1.3 is published, so the last git dependency becomes a caret like the
rest. Cargo.lock now resolves every crate from the registry.

The comment above it is gone rather than reworded: it existed to say why
this one was different and what would change when it was published, and
neither is true now. The one-rev script's note changes for the same
reason, from "only this dependency keeps the empty case from happening"
to the empty case being what this workspace actually is.
@pathscale pathscale changed the title Take every publishable dependency by version Take every dependency by version, leaving no git sources Aug 20, 2026
@pathscale
pathscale merged commit 67df2f1 into master Aug 20, 2026
2 checks passed
@pathscale
pathscale deleted the build/deps-by-version-clean branch August 20, 2026 20:48
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.

1 participant