act-cli 0.7.2__tar.gz → 0.7.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. {act_cli-0.7.2 → act_cli-0.7.3}/Cargo.lock +7 -2
  2. {act_cli-0.7.2 → act_cli-0.7.3}/Cargo.toml +1 -1
  3. {act_cli-0.7.2 → act_cli-0.7.3}/PKG-INFO +18 -1
  4. {act_cli-0.7.2/act-cli → act_cli-0.7.3}/README.md +17 -0
  5. {act_cli-0.7.2 → act_cli-0.7.3/act-cli}/README.md +17 -0
  6. {act_cli-0.7.2 → act_cli-0.7.3}/act-cli/src/resolve.rs +11 -0
  7. {act_cli-0.7.2 → act_cli-0.7.3}/act-cli/Cargo.toml +0 -0
  8. {act_cli-0.7.2 → act_cli-0.7.3}/act-cli/build.rs +0 -0
  9. {act_cli-0.7.2 → act_cli-0.7.3}/act-cli/src/config.rs +0 -0
  10. {act_cli-0.7.2 → act_cli-0.7.3}/act-cli/src/format.rs +0 -0
  11. {act_cli-0.7.2 → act_cli-0.7.3}/act-cli/src/http.rs +0 -0
  12. {act_cli-0.7.2 → act_cli-0.7.3}/act-cli/src/main.rs +0 -0
  13. {act_cli-0.7.2 → act_cli-0.7.3}/act-cli/src/rmcp_bridge.rs +0 -0
  14. {act_cli-0.7.2 → act_cli-0.7.3}/act-cli/src/runtime/bindings/mod.rs +0 -0
  15. {act_cli-0.7.2 → act_cli-0.7.3}/act-cli/src/runtime/effective.rs +0 -0
  16. {act_cli-0.7.2 → act_cli-0.7.3}/act-cli/src/runtime/fs_matcher.rs +0 -0
  17. {act_cli-0.7.2 → act_cli-0.7.3}/act-cli/src/runtime/fs_policy.rs +0 -0
  18. {act_cli-0.7.2 → act_cli-0.7.3}/act-cli/src/runtime/http_client.rs +0 -0
  19. {act_cli-0.7.2 → act_cli-0.7.3}/act-cli/src/runtime/http_policy.rs +0 -0
  20. {act_cli-0.7.2 → act_cli-0.7.3}/act-cli/src/runtime/mod.rs +0 -0
  21. {act_cli-0.7.2 → act_cli-0.7.3}/act-cli/src/runtime/network.rs +0 -0
  22. {act_cli-0.7.2 → act_cli-0.7.3}/act-cli/src/runtime/sessions.rs +0 -0
  23. {act_cli-0.7.2 → act_cli-0.7.3}/act-cli/wit/deps/act-core/act-core.wit +0 -0
  24. {act_cli-0.7.2 → act_cli-0.7.3}/act-cli/wit/deps/act-tools/act-tools.wit +0 -0
  25. {act_cli-0.7.2 → act_cli-0.7.3}/act-cli/wit/deps.lock +0 -0
  26. {act_cli-0.7.2 → act_cli-0.7.3}/act-cli/wit/deps.toml +0 -0
  27. {act_cli-0.7.2 → act_cli-0.7.3}/act-cli/wit/world.wit +0 -0
  28. {act_cli-0.7.2 → act_cli-0.7.3}/pyproject.toml +0 -0
@@ -4,18 +4,23 @@ version = 4
4
4
 
5
5
  [[package]]
6
6
  name = "act-build"
7
- version = "0.7.2"
7
+ version = "0.7.3"
8
8
  dependencies = [
9
9
  "act-types",
10
10
  "anyhow",
11
+ "base64",
11
12
  "ciborium",
12
13
  "clap",
14
+ "dirs",
13
15
  "globset",
14
16
  "json-patch",
17
+ "oci-client",
15
18
  "serde",
16
19
  "serde_json",
20
+ "sha2 0.11.0",
17
21
  "tar",
18
22
  "tempfile",
23
+ "tokio",
19
24
  "toml 1.1.2+spec-1.1.0",
20
25
  "tracing",
21
26
  "tracing-subscriber",
@@ -25,7 +30,7 @@ dependencies = [
25
30
 
26
31
  [[package]]
27
32
  name = "act-cli"
28
- version = "0.7.2"
33
+ version = "0.7.3"
29
34
  dependencies = [
30
35
  "act-types",
31
36
  "anyhow",
@@ -3,7 +3,7 @@ members = ["act-cli"]
3
3
  resolver = "3"
4
4
 
5
5
  [workspace.package]
6
- version = "0.7.2"
6
+ version = "0.7.3"
7
7
  edition = "2024"
8
8
  license = "MIT OR Apache-2.0"
9
9
  repository = "https://github.com/actcore/act-cli"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: act-cli
3
- Version: 0.7.2
3
+ Version: 0.7.3
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Environment :: Console
6
6
  Classifier: Intended Audience :: Developers
@@ -92,6 +92,12 @@ act-build pack target/wasm32-wasip2/release/my_component.wasm
92
92
 
93
93
  # Validate without modifying
94
94
  act-build validate target/wasm32-wasip2/release/my_component.wasm
95
+
96
+ # Publish as a CNCF Wasm OCI Artifact
97
+ act-build push my_component.wasm ghcr.io/actpkg/my-component:0.1.0 \
98
+ --also-tag latest \
99
+ --source https://github.com/actpkg/my-component \
100
+ --skip-if-identical
95
101
  ```
96
102
 
97
103
  Metadata is resolved via merge-patch from project manifests:
@@ -100,6 +106,17 @@ Metadata is resolved via merge-patch from project manifests:
100
106
  2. **Inline patch** from the same manifest (`[package.metadata.act-component]`, `[tool.act-component]`, or `actComponent`)
101
107
  3. **`act.toml`** — highest priority, applied last
102
108
 
109
+ `act-build push` produces artifacts conformant with the [CNCF
110
+ TAG-Runtime Wasm OCI Artifact spec](https://tag-runtime.cncf.io/wgs/wasm/deliverables/wasm-oci-artifact/):
111
+ manifest config has media type `application/vnd.wasm.config.v0+json`
112
+ (with `architecture`, `os`, `layerDigests`, and
113
+ `component.{exports,imports}` derived from the component's exports
114
+ and imports), and the layer is `application/wasm`.
115
+
116
+ Authentication is resolved in order: `OCI_USERNAME`/`OCI_PASSWORD`
117
+ env, then `GITHUB_TOKEN` for `ghcr.io`, then `~/.docker/config.json`
118
+ (or `$DOCKER_CONFIG/config.json`), then anonymous.
119
+
103
120
  ## Platform Support
104
121
 
105
122
  | Architecture | Linux (GNU) | Linux (musl) | macOS | Windows | Docker |
@@ -75,6 +75,12 @@ act-build pack target/wasm32-wasip2/release/my_component.wasm
75
75
 
76
76
  # Validate without modifying
77
77
  act-build validate target/wasm32-wasip2/release/my_component.wasm
78
+
79
+ # Publish as a CNCF Wasm OCI Artifact
80
+ act-build push my_component.wasm ghcr.io/actpkg/my-component:0.1.0 \
81
+ --also-tag latest \
82
+ --source https://github.com/actpkg/my-component \
83
+ --skip-if-identical
78
84
  ```
79
85
 
80
86
  Metadata is resolved via merge-patch from project manifests:
@@ -83,6 +89,17 @@ Metadata is resolved via merge-patch from project manifests:
83
89
  2. **Inline patch** from the same manifest (`[package.metadata.act-component]`, `[tool.act-component]`, or `actComponent`)
84
90
  3. **`act.toml`** — highest priority, applied last
85
91
 
92
+ `act-build push` produces artifacts conformant with the [CNCF
93
+ TAG-Runtime Wasm OCI Artifact spec](https://tag-runtime.cncf.io/wgs/wasm/deliverables/wasm-oci-artifact/):
94
+ manifest config has media type `application/vnd.wasm.config.v0+json`
95
+ (with `architecture`, `os`, `layerDigests`, and
96
+ `component.{exports,imports}` derived from the component's exports
97
+ and imports), and the layer is `application/wasm`.
98
+
99
+ Authentication is resolved in order: `OCI_USERNAME`/`OCI_PASSWORD`
100
+ env, then `GITHUB_TOKEN` for `ghcr.io`, then `~/.docker/config.json`
101
+ (or `$DOCKER_CONFIG/config.json`), then anonymous.
102
+
86
103
  ## Platform Support
87
104
 
88
105
  | Architecture | Linux (GNU) | Linux (musl) | macOS | Windows | Docker |
@@ -75,6 +75,12 @@ act-build pack target/wasm32-wasip2/release/my_component.wasm
75
75
 
76
76
  # Validate without modifying
77
77
  act-build validate target/wasm32-wasip2/release/my_component.wasm
78
+
79
+ # Publish as a CNCF Wasm OCI Artifact
80
+ act-build push my_component.wasm ghcr.io/actpkg/my-component:0.1.0 \
81
+ --also-tag latest \
82
+ --source https://github.com/actpkg/my-component \
83
+ --skip-if-identical
78
84
  ```
79
85
 
80
86
  Metadata is resolved via merge-patch from project manifests:
@@ -83,6 +89,17 @@ Metadata is resolved via merge-patch from project manifests:
83
89
  2. **Inline patch** from the same manifest (`[package.metadata.act-component]`, `[tool.act-component]`, or `actComponent`)
84
90
  3. **`act.toml`** — highest priority, applied last
85
91
 
92
+ `act-build push` produces artifacts conformant with the [CNCF
93
+ TAG-Runtime Wasm OCI Artifact spec](https://tag-runtime.cncf.io/wgs/wasm/deliverables/wasm-oci-artifact/):
94
+ manifest config has media type `application/vnd.wasm.config.v0+json`
95
+ (with `architecture`, `os`, `layerDigests`, and
96
+ `component.{exports,imports}` derived from the component's exports
97
+ and imports), and the layer is `application/wasm`.
98
+
99
+ Authentication is resolved in order: `OCI_USERNAME`/`OCI_PASSWORD`
100
+ env, then `GITHUB_TOKEN` for `ghcr.io`, then `~/.docker/config.json`
101
+ (or `$DOCKER_CONFIG/config.json`), then anonymous.
102
+
86
103
  ## Platform Support
87
104
 
88
105
  | Architecture | Linux (GNU) | Linux (musl) | macOS | Windows | Docker |
@@ -224,6 +224,17 @@ async fn resolve_oci(reference: &str, fresh: bool) -> Result<PathBuf> {
224
224
  .first()
225
225
  .context("no layers in OCI manifest")?;
226
226
 
227
+ // Per the CNCF Wasm OCI Artifact spec, the layer media type must be
228
+ // `application/wasm`. We tolerate the empty/legacy case for backwards
229
+ // compatibility but log a warning — anything else is rejected.
230
+ match layer.media_type.as_str() {
231
+ "application/wasm" => {}
232
+ "" => tracing::warn!(%reference, "OCI layer has no media type (legacy artifact)"),
233
+ other => anyhow::bail!(
234
+ "unexpected layer media type for {reference}: '{other}' (expected 'application/wasm')"
235
+ ),
236
+ }
237
+
227
238
  let total = if layer.size > 0 {
228
239
  Some(layer.size as u64)
229
240
  } else {
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes