From d7fce1ba81bb87f24b0c82d6981182448f0cac93 Mon Sep 17 00:00:00 2001 From: Sienna Meridian Satterwhite Date: Thu, 9 Apr 2026 17:07:21 +0100 Subject: [PATCH] chore: bump to v1.9.1 + CHANGELOG --- CHANGELOG.md | 36 ++++++++++++++++++++++++++++++++++++ Cargo.toml | 24 ++++++++++++------------ wfe-buildkit/Cargo.toml | 2 +- wfe-containerd/Cargo.toml | 2 +- wfe-deno/Cargo.toml | 2 +- wfe-server/Cargo.toml | 6 +++--- 6 files changed, 54 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5231506..d8f5c94 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,42 @@ All notable changes to this project will be documented in this file. +## [1.9.1] - 2026-04-09 + +### Added + +- **wfe-kubernetes**: Cross-workflow shared volumes — declare + `shared_volume: { mount_path: /workspace, size: 30Gi }` on a + top-level workflow and every sub-workflow in the tree shares a + single PVC. Sub-workflows inherit the root's namespace via + `root_workflow_id` so checkout/lint/test/cover all see the same + `/workspace`. +- **wfe-kubernetes**: Configurable `shell:` on step config (default + `/bin/sh`). CI workflows that need `set -o pipefail` set + `shell: /bin/bash` on their shared config anchors. +- **wfe-core**: `StepExecutionContext.definition` gives executor-specific + steps access to the workflow definition without a registry round-trip. +- Expanded test suites: 14 new persistence tests, 4 queue tests, 3 + lock tests, 10 host name/resolve tests, multi-step K8s integration + test, 14 webhook handler tests. All shared via macros so every + provider backend benefits. + +### Fixed + +- **wfe**: Shared volume config now propagates to sub-workflows via + `_wfe_shared_volume` in instance data. Previously, only the root + definition carried the config; sub-workflow steps never saw it and + no PVC was created. +- **wfe-server**: `log_search` TCP probe used `SocketAddr::parse` which + rejects hostnames — OpenSearch integration tests were silently + skipping. Switched to `ToSocketAddrs` for DNS resolution. +- **wfe-server**: `ensure_index` now handles `resource_already_exists` + races gracefully instead of returning an error. +- **persistence**: `create_new_workflow` falls back to UUID when `name` + is empty, preventing UNIQUE constraint violations in tests. +- **wfe-kubernetes**: Default shell reverted to `/bin/sh` (was changed + to `/bin/bash` in 1.9.0 which broke alpine-based containers). + ## [1.9.0] - 2026-04-07 ### Added diff --git a/Cargo.toml b/Cargo.toml index bb8a58b..9427fe8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ members = ["wfe-core", "wfe-sqlite", "wfe-postgres", "wfe-opensearch", "wfe-valk resolver = "2" [workspace.package] -version = "1.9.0" +version = "1.9.1" edition = "2024" license = "MIT" repository = "https://src.sunbeam.pt/studio/wfe" @@ -38,17 +38,17 @@ redis = { version = "0.27", features = ["tokio-comp", "connection-manager"] } opensearch = "2" # Internal crates -wfe-core = { version = "1.9.0", path = "wfe-core", registry = "sunbeam" } -wfe-sqlite = { version = "1.9.0", path = "wfe-sqlite", registry = "sunbeam" } -wfe-postgres = { version = "1.9.0", path = "wfe-postgres", registry = "sunbeam" } -wfe-opensearch = { version = "1.9.0", path = "wfe-opensearch", registry = "sunbeam" } -wfe-valkey = { version = "1.9.0", path = "wfe-valkey", registry = "sunbeam" } -wfe-yaml = { version = "1.9.0", path = "wfe-yaml", registry = "sunbeam" } -wfe-buildkit = { version = "1.9.0", path = "wfe-buildkit", registry = "sunbeam" } -wfe-containerd = { version = "1.9.0", path = "wfe-containerd", registry = "sunbeam" } -wfe-rustlang = { version = "1.9.0", path = "wfe-rustlang", registry = "sunbeam" } -wfe-kubernetes = { version = "1.9.0", path = "wfe-kubernetes", registry = "sunbeam" } -wfe-server-protos = { version = "1.9.0", path = "wfe-server-protos", registry = "sunbeam" } +wfe-core = { version = "1.9.1", path = "wfe-core", registry = "sunbeam" } +wfe-sqlite = { version = "1.9.1", path = "wfe-sqlite", registry = "sunbeam" } +wfe-postgres = { version = "1.9.1", path = "wfe-postgres", registry = "sunbeam" } +wfe-opensearch = { version = "1.9.1", path = "wfe-opensearch", registry = "sunbeam" } +wfe-valkey = { version = "1.9.1", path = "wfe-valkey", registry = "sunbeam" } +wfe-yaml = { version = "1.9.1", path = "wfe-yaml", registry = "sunbeam" } +wfe-buildkit = { version = "1.9.1", path = "wfe-buildkit", registry = "sunbeam" } +wfe-containerd = { version = "1.9.1", path = "wfe-containerd", registry = "sunbeam" } +wfe-rustlang = { version = "1.9.1", path = "wfe-rustlang", registry = "sunbeam" } +wfe-kubernetes = { version = "1.9.1", path = "wfe-kubernetes", registry = "sunbeam" } +wfe-server-protos = { version = "1.9.1", path = "wfe-server-protos", registry = "sunbeam" } # YAML serde_yaml = "0.9" diff --git a/wfe-buildkit/Cargo.toml b/wfe-buildkit/Cargo.toml index b181cae..a0d20b5 100644 --- a/wfe-buildkit/Cargo.toml +++ b/wfe-buildkit/Cargo.toml @@ -16,7 +16,7 @@ async-trait = { workspace = true } tracing = { workspace = true } thiserror = { workspace = true } regex = { workspace = true } -wfe-buildkit-protos = { version = "1.9.0", path = "../wfe-buildkit-protos", registry = "sunbeam" } +wfe-buildkit-protos = { version = "1.9.1", path = "../wfe-buildkit-protos", registry = "sunbeam" } tonic = "0.14" tower = { version = "0.4", features = ["util"] } hyper-util = { version = "0.1", features = ["tokio"] } diff --git a/wfe-containerd/Cargo.toml b/wfe-containerd/Cargo.toml index 970d544..f1f2dc1 100644 --- a/wfe-containerd/Cargo.toml +++ b/wfe-containerd/Cargo.toml @@ -9,7 +9,7 @@ description = "containerd container runner executor for WFE" [dependencies] wfe-core = { workspace = true } -wfe-containerd-protos = { version = "1.9.0", path = "../wfe-containerd-protos", registry = "sunbeam" } +wfe-containerd-protos = { version = "1.9.1", path = "../wfe-containerd-protos", registry = "sunbeam" } tokio = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } diff --git a/wfe-deno/Cargo.toml b/wfe-deno/Cargo.toml index b422234..cd97a47 100644 --- a/wfe-deno/Cargo.toml +++ b/wfe-deno/Cargo.toml @@ -9,7 +9,7 @@ description = "Deno bindings for the WFE workflow engine" [dependencies] wfe-core = { workspace = true, features = ["test-support"] } -wfe = { version = "1.9.0", path = "../wfe", registry = "sunbeam" } +wfe = { version = "1.9.1", path = "../wfe", registry = "sunbeam" } deno_core = { workspace = true } deno_error = { workspace = true } tokio = { workspace = true } diff --git a/wfe-server/Cargo.toml b/wfe-server/Cargo.toml index 346a96e..be41294 100644 --- a/wfe-server/Cargo.toml +++ b/wfe-server/Cargo.toml @@ -14,9 +14,9 @@ path = "src/main.rs" [dependencies] # Internal wfe-core = { workspace = true, features = ["test-support"] } -wfe = { version = "1.9.0", path = "../wfe", registry = "sunbeam" } -wfe-yaml = { version = "1.9.0", path = "../wfe-yaml", registry = "sunbeam", features = ["rustlang", "buildkit", "containerd", "kubernetes", "deno"] } -wfe-server-protos = { version = "1.9.0", path = "../wfe-server-protos", registry = "sunbeam" } +wfe = { version = "1.9.1", path = "../wfe", registry = "sunbeam" } +wfe-yaml = { version = "1.9.1", path = "../wfe-yaml", registry = "sunbeam", features = ["rustlang", "buildkit", "containerd", "kubernetes", "deno"] } +wfe-server-protos = { version = "1.9.1", path = "../wfe-server-protos", registry = "sunbeam" } wfe-sqlite = { workspace = true } wfe-postgres = { workspace = true } wfe-valkey = { workspace = true }