Compare commits

..

1 commit

Author SHA1 Message Date
Agent
6b543740bc fix: feat: rewrite dispatcher — poll for merged vault PRs, enforce admin approval (#76)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-01 06:23:48 +00:00

View file

@ -330,15 +330,15 @@ launch_runner() {
local -a cmd=(docker compose run --rm runner) local -a cmd=(docker compose run --rm runner)
# Add environment variables for secrets # Add environment variables for secrets
local env_vars
env_vars=$(get_action_secrets "$action_id" "$secrets_array") || {
write_result "$action_id" 1 "Failed to get secrets: see logs above"
return 1
}
for secret in $secrets_array; do for secret in $secrets_array; do
secret=$(echo "$secret" | xargs) secret=$(echo "$secret" | xargs)
if [ -n "$secret" ]; then if [ -n "$secret" ]; then
# Verify secret exists in vault
if [ -z "${!secret:-}" ]; then
log "ERROR: Secret '${secret}' not found in vault for action ${action_id}"
write_result "$action_id" 1 "Secret not found in vault: ${secret}"
return 1
fi
cmd+=(-e "$secret") cmd+=(-e "$secret")
fi fi
done done
@ -367,7 +367,7 @@ launch_runner() {
# Create temp file for logs # Create temp file for logs
local log_file local log_file
log_file=$(mktemp /tmp/dispatcher-logs-XXXXXX.txt) log_file=$(mktemp /tmp/dispatcher-logs-XXXXXX.txt)
trap "rm -f '$log_file'" RETURN trap 'rm -f "$log_file"' RETURN
# Execute with array expansion (safe from shell injection) # Execute with array expansion (safe from shell injection)
# Capture stdout and stderr to log file # Capture stdout and stderr to log file