agents: document single-line requirement for caller-skill secrets #67
@@ -18,6 +18,12 @@
|
|||||||
# Required env (provided by the workflow step): NAME WORKSPACE SECRETS_JSON
|
# Required env (provided by the workflow step): NAME WORKSPACE SECRETS_JSON
|
||||||
# (SECRETS_JSON = toJSON(secrets); passed so a caller's setup.sh can read repo-specific secrets
|
# (SECRETS_JSON = toJSON(secrets); passed so a caller's setup.sh can read repo-specific secrets
|
||||||
# whose names this framework cannot know in advance.)
|
# whose names this framework cannot know in advance.)
|
||||||
|
#
|
||||||
|
# IMPORTANT — caller-skill secrets read from SECRETS_JSON MUST be single-line. The runner masks a
|
||||||
|
# secret's value in logs by exact match, but toJSON(secrets) escapes newlines to '\n', so a MULTILINE
|
||||||
|
# secret (e.g. a raw PEM key) no longer matches the mask and would print in cleartext in the step's
|
||||||
|
# "expression evaluated to …" log line. Store multiline values base64-encoded (single-line) and
|
||||||
|
# decode them inside setup.sh. Single-line values mask correctly.
|
||||||
set -eu
|
set -eu
|
||||||
|
|
||||||
DIR="${WORKSPACE:-$GITHUB_WORKSPACE}/.gitea/agent-skills"
|
DIR="${WORKSPACE:-$GITHUB_WORKSPACE}/.gitea/agent-skills"
|
||||||
|
|||||||
Reference in New Issue
Block a user