Commit Graph

10 Commits

Author SHA1 Message Date
cd1ad468f6 fix(wfe): propagate shared_volume to sub-workflows via instance data
Sub-workflow steps were not getting a PVC because the K8s executor
checked context.definition.shared_volume which is the child definition
(e.g. lint) — not the root (ci) that declares shared_volume. Only
root definitions carry the config; sub-workflow definitions don't.

Fix: WorkflowHost::start_workflow_with_name injects the config as
_wfe_shared_volume in instance.data. SubWorkflowStep propagates the
parent's data to children, so the config reaches every descendant.
The K8s executor reads it from workflow.data when
definition.shared_volume is None.

Adds a regression test that mirrors the real topology: a child
workflow instance with root_workflow_id set, no shared_volume on its
definition, and _wfe_shared_volume in data — must still get the PVC.
2026-04-09 17:00:24 +01:00
48e5d9a26f feat(persistence+k8s): root_workflow_id schema, PVC provisioning, name fallback, host name-or-UUID 2026-04-09 15:45:47 +01:00
883471181d fix(wfe-kubernetes): run scripts under /bin/bash for pipefail support
Kubernetes step jobs with a `run:` block were invoked via
`/bin/sh -c <script>`. On debian-family base images that resolves to
dash, which rejects `set -o pipefail` ("Illegal option") and other
bashisms (arrays, process substitution, `{1..10}`). The first line of
nearly every real CI script relies on `set -euo pipefail`, so the
steps were failing with exit code 2 before running a single command.

Switch to `/bin/bash -c` so `run:` scripts can rely on the bash
feature set. Containers that lack bash should use the explicit
`command:` form instead.
2026-04-07 18:55:10 +01:00
02a574b24e style: apply cargo fmt workspace-wide
Pure formatting pass from `cargo fmt --all`. No logic changes. Separating
this out so the 1.9 release feature commits that follow show only their
intentional edits.
2026-04-07 18:44:21 +01:00
e5db02b4f8 feat(wfe-kubernetes):
KubernetesServiceProvider for infrastructure services
2026-04-06 17:59:50 +01:00
8f3539ed34 refactor(wfe-kubernetes): add lazy client mode for factory-based step creation 2026-04-06 17:09:11 +01:00
6a341e426c feat(wfe-kubernetes): KubernetesStep executor (StepBody impl) 2026-04-06 16:42:09 +01:00
85a83e7580 feat(wfe-kubernetes): log streaming and resource cleanup 2026-04-06 16:42:04 +01:00
d62dc0f349 feat(wfe-kubernetes): Job manifest builder and output parsing 2026-04-06 16:41:55 +01:00
1574342e92 feat(wfe-kubernetes): scaffold crate with config, client, and namespace modules 2026-04-06 16:41:48 +01:00