mirror of
https://github.com/bahdotsh/wrkflw.git
synced 2026-09-02 12:16:16 +02:00
Three correctness bugs found during review of the Docker action execution path: 1. with.args was being split on whitespace like a caveman. An argument like "hello world" would turn into two separate args, which is *not* how GitHub Actions works. Use shlex::split() for proper shell-word parsing, with a whitespace fallback for malformed input that shlex chokes on. 2. sanitize_dockerfile_rel() happily accepted empty strings. Feed it "" or "docker://" and it would produce an empty path, which then joins to a directory instead of a file. The subsequent docker build would fail with a confusing error. Let's just reject empty paths upfront. 3. SecureEmulationRuntime silently swallowed the entrypoint override without telling anyone. If you're running in secure emulation mode and your action specifies runs.entrypoint, you deserve to know it's being ignored — not left wondering why your action isn't doing what you expect.
48 lines
1.1 KiB
TOML
48 lines
1.1 KiB
TOML
[package]
|
|
name = "wrkflw-executor"
|
|
version = "0.7.3"
|
|
edition.workspace = true
|
|
description = "Workflow execution engine for wrkflw"
|
|
license.workspace = true
|
|
documentation.workspace = true
|
|
homepage.workspace = true
|
|
repository.workspace = true
|
|
keywords.workspace = true
|
|
categories.workspace = true
|
|
|
|
[dependencies]
|
|
# Internal crates
|
|
wrkflw-models.workspace = true
|
|
wrkflw-parser.workspace = true
|
|
wrkflw-runtime.workspace = true
|
|
wrkflw-logging.workspace = true
|
|
wrkflw-matrix.workspace = true
|
|
wrkflw-secrets.workspace = true
|
|
wrkflw-utils.workspace = true
|
|
|
|
# External dependencies
|
|
async-trait.workspace = true
|
|
bollard.workspace = true
|
|
chrono.workspace = true
|
|
dirs.workspace = true
|
|
futures.workspace = true
|
|
futures-util.workspace = true
|
|
ignore = "0.4"
|
|
lazy_static.workspace = true
|
|
num_cpus.workspace = true
|
|
once_cell.workspace = true
|
|
regex.workspace = true
|
|
reqwest.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
serde_yaml.workspace = true
|
|
shlex.workspace = true
|
|
tar.workspace = true
|
|
tempfile.workspace = true
|
|
thiserror.workspace = true
|
|
tokio.workspace = true
|
|
uuid.workspace = true
|
|
|
|
[dev-dependencies]
|
|
wiremock.workspace = true
|