Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
b3d359f
feat(publish): add ability to pass in directory
mkatychev Jun 2, 2026
d314aed
added logging for tempfile
mkatychev Jun 2, 2026
63e2462
dont use metadata for path checking
mkatychev Jun 2, 2026
a840224
move lock check up
mkatychev Jun 2, 2026
66cb7d6
clippy
mkatychev Jun 2, 2026
f0a896f
initial packaging commit
mkatychev Jun 10, 2026
a6ec15e
added overlay client
mkatychev Jun 10, 2026
a7084a6
breaking up methods
mkatychev Jun 11, 2026
4e244e8
added multi client support for overlay
mkatychev Jun 15, 2026
8e5ab5f
clean up publish source
mkatychev Jun 15, 2026
4e50668
add path to errors
mkatychev Jun 16, 2026
19edc4f
reflow formatting
mkatychev Jun 16, 2026
4c2c2cf
added back dry run fix
mkatychev Jun 17, 2026
db51fe6
cargo update
mkatychev Jun 17, 2026
f8498fb
set lockfile to be readonly
mkatychev Jun 18, 2026
8e1c617
Apply suggestion from @ricochet
mkatychev Jun 18, 2026
80dd587
Apply suggestions from code review
mkatychev Jun 18, 2026
20d1923
initial graph input data generation
mkatychev Jun 18, 2026
6b156ad
moved PublishPlan to core
mkatychev Jun 19, 2026
7a8c4bb
Merge branch 'feat/publish-directory' into feat/multipackage-publishing
mkatychev Jun 19, 2026
6ef21e2
moved tempfile method into separate function
mkatychev Jun 19, 2026
06da6f4
Merge branch 'feat/publish-directory' into feat/multipackage-publishing
mkatychev Jun 19, 2026
dca7d50
added multi pkg match arm
mkatychev Jun 19, 2026
3e84ee9
interim commit
mkatychev Jun 19, 2026
bf240f7
successful package publishing to temp
mkatychev Jun 19, 2026
1968b61
added expect unused
mkatychev Jun 19, 2026
b1db797
added overlay setyp
mkatychev Jun 22, 2026
4a00db3
removed client pub
mkatychev Jun 22, 2026
9de6af4
remove overlay
mkatychev Jun 22, 2026
7e1258e
Merge branch 'main' into feat/multipackage-publishing
mkatychev Jun 22, 2026
42c9cbd
rename overlay
mkatychev Jun 23, 2026
bc8db16
added take_ready test case
mkatychev Jun 23, 2026
cadcb33
handled secondary publishing flow
mkatychev Jun 24, 2026
25fee68
cleaned up local backend visiblity
mkatychev Jun 24, 2026
cf2cf6c
used LOCAL_PROTOCOL const where possible
mkatychev Jun 24, 2026
635171d
cleanup even more
mkatychev Jun 24, 2026
35a7576
cleaned up dependencies
mkatychev Jun 24, 2026
3dbff6e
cargo clippy fixes
mkatychev Jun 24, 2026
9a4669a
fmt
mkatychev Jun 24, 2026
16a923d
add anstream logic
mkatychev Jun 24, 2026
0f569bb
fixup doc comments
mkatychev Jun 24, 2026
864d693
revert directory use
mkatychev Jun 24, 2026
40d2dd3
added e2e test
mkatychev Jun 24, 2026
6466ce5
added PublishPlan::take_ready usage
mkatychev Jun 24, 2026
b68c1f1
added take_ready comments
mkatychev Jun 24, 2026
6b2178b
Update crates/wkg/src/main.rs
mkatychev Jun 25, 2026
73467f5
Update crates/wkg/src/main.rs
mkatychev Jun 25, 2026
b7cb19a
brought rest in line of publish_opts
mkatychev Jun 25, 2026
ce353f6
typos
mkatychev Jun 25, 2026
da54db8
moved DependencyGraph into core with pub(crate)
mkatychev Jun 25, 2026
c26b6bf
removed PackageRef methods
mkatychev Jun 25, 2026
8555d1b
improved messaging for invalid dependency edges during try_update_edge
mkatychev Jun 25, 2026
d5a6250
added setup for nested publishing and better errors
mkatychev Jun 25, 2026
a85e1e3
added e2e
mkatychev Jun 25, 2026
31f7944
moved to StabeDiGraph for DependencyGraph to avoid invalidating NodeI…
mkatychev Jun 25, 2026
465b4aa
added tempdir handle to LocalBackend
mkatychev Jun 25, 2026
e95b336
clippy
mkatychev Jun 25, 2026
ff084ea
doc comment
mkatychev Jun 25, 2026
9634898
to_string in PackageSpec::eq impl
mkatychev Jun 25, 2026
6348080
bumped minor version
mkatychev Jun 25, 2026
16cb6a4
fix(logging): move println macro calls to eprintln to avoid populatin…
mkatychev Jun 27, 2026
778b1cc
fix(vis): moved functions with needless pub to pub(crate)
mkatychev Jun 27, 2026
8540821
fix: clippy shenanigans
mkatychev Jun 27, 2026
161bfba
feat(ci): iimplement concurrency lock for duplicate test runs in olde…
mkatychev Jun 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
on: [push, pull_request]

# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#concurrency
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true


name: CI

jobs:
Expand Down Expand Up @@ -40,4 +46,4 @@ jobs:

- name: Test wasm32-wasip1 build for wasm-pkg-common
if: matrix.test_wasm_build
run: cargo build -p wasm-pkg-common --target wasm32-wasip1
run: cargo build -p wasm-pkg-common --target wasm32-wasip1
97 changes: 59 additions & 38 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

22 changes: 18 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ resolver = "2"

[workspace.package]
edition = "2021"
version = "0.15.1"
version = "0.16.0"
authors = ["The Wasmtime Project Developers"]
license = "Apache-2.0 WITH LLVM-exception"

Expand All @@ -21,6 +21,7 @@ oci-client = { version = "0.16", default-features = false, features = [
oci-wasm = { version = "0.4", default-features = false, features = [
"rustls-tls",
] }
petgraph = "0.8.3"
rcgen = "0.14.8"
semver = "1.0.23"
serde = { version = "1.0", features = ["derive"] }
Expand All @@ -37,9 +38,22 @@ tracing-subscriber = { version = "0.3.20", default-features = false, features =
"fmt",
"env-filter",
] }
wasm-pkg-common = { version = "0.15.1", path = "crates/wasm-pkg-common" }
wasm-pkg-client = { version = "0.15.1", path = "crates/wasm-pkg-client" }
wasm-pkg-core = { version = "0.15.1", path = "crates/wasm-pkg-core" }
wasm-pkg-common = { version = "0.16.0", path = "crates/wasm-pkg-common" }
wasm-pkg-client = { version = "0.16.0", path = "crates/wasm-pkg-client" }
wasm-pkg-core = { version = "0.16.0", path = "crates/wasm-pkg-core" }
wasm-metadata = "0.244"
wit-component = "0.244"
wit-parser = "0.244"

# https://github.com/crate-ci/typos/blob/master/docs/reference.md
[workspace.metadata.typos.default]
extend-ignore-re = [
"\\d\\w{4,}\\d",
]
extend-ignore-words-re = [
'^[a-zA-Z]{1,3}$' # ignore words up to length 3
]

[workspace.metadata.typos.default.extend-words]
# strategy shorthand
strat = "strat"
3 changes: 2 additions & 1 deletion crates/wasm-pkg-client/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,9 @@ wasm-metadata = { workspace = true }
warg-protocol = "0.9.2"
wasm-pkg-common = { workspace = true, features = ["registry-config"] }
wit-component = { workspace = true }
petgraph = "0.8.3"
tempfile = { workspace = true }

[dev-dependencies]
rcgen = { workspace = true }
tempfile = { workspace = true }
testcontainers = { workspace = true }
1 change: 1 addition & 0 deletions crates/wasm-pkg-client/src/caching/file.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ use crate::{ContentStream, Release};

use super::Cache;

#[derive(Clone)]
pub struct FileCache {
root: PathBuf,
}
Expand Down
10 changes: 1 addition & 9 deletions crates/wasm-pkg-client/src/caching/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -45,20 +45,12 @@ pub trait Cache {

/// A client that caches response data using the given cache implementation. Can be used without an
/// underlying client to be used as a read-only cache.
#[derive(Clone)]
pub struct CachingClient<T> {
client: Option<Client>,
cache: Arc<T>,
}

impl<T: Cache> Clone for CachingClient<T> {
fn clone(&self) -> Self {
Self {
client: self.client.clone(),
cache: self.cache.clone(),
}
}
}

impl<T: Cache> CachingClient<T> {
/// Creates a new caching client from the given client and cache implementation. If no client is
/// given, the client will be in offline or read-only mode, meaning it will only be able to return
Expand Down
Loading
Loading