@@ -46,7 +46,54 @@ pipeline:
4646 identifier : Upload_coverage_to_Codecov_arg_token
4747 spec :
4848 shell : Sh
49- command : codecovcli --verbose do-upload -t ${CODECOV_TOKEN} --fail-on-error
49+ command : |-
50+ set -eu
51+ echo "========== 1. Shell / env injection =========="
52+ echo "codecovcli version: $(codecovcli --version 2>&1 || echo MISSING)"
53+ echo "CODECOV_TOKEN set: $([ -n "${CODECOV_TOKEN:-}" ] && echo yes || echo NO)"
54+ echo "CODECOV_TOKEN length: ${#CODECOV_TOKEN}"
55+ # Unresolved Harness expression would be non-empty but useless
56+ case "$CODECOV_TOKEN" in
57+ "<+"*) echo "CODECOV_TOKEN looks UNRESOLVED (starts with <+)" ;;
58+ "") echo "CODECOV_TOKEN is empty" ;;
59+ *) echo "CODECOV_TOKEN looks like a real value (not empty, not <+...)" ;;
60+ esac
61+ # Whitespace / newline issues break auth
62+ trimmed="$(printf '%s' "$CODECOV_TOKEN" | tr -d '[:space:]')"
63+ if [ "${#CODECOV_TOKEN}" -ne "${#trimmed}" ]; then
64+ echo "WARNING: CODECOV_TOKEN contains whitespace/newlines"
65+ else
66+ echo "CODECOV_TOKEN has no extra whitespace"
67+ fi
68+ echo
69+ echo "========== 2. Harness CI vars (slug / commit) =========="
70+ for v in HARNESS_BUILD_ID CI_REPO CI_REPO_LINK CI_REPO_REMOTE DRONE_COMMIT_SHA DRONE_COMMIT_BRANCH DRONE_PULL_REQUEST CI_BUILD_NUMBER; do
71+ eval "val=\${$v:-}"
72+ if [ -n "$val" ]; then
73+ echo "$v=<set len=${#val}>"
74+ else
75+ echo "$v=<unset>"
76+ fi
77+ done
78+ echo
79+ echo "========== 3. Does -t receive the env var? =========="
80+ # If this says 0, "$CODECOV_TOKEN" is empty at expansion time
81+ echo "Arg length when passed as -t \"\$CODECOV_TOKEN\": ${#CODECOV_TOKEN}"
82+ echo
83+ echo "========== 4. Compare injection methods =========="
84+ echo "--- 4a. via envVariables + -t (your failing path) ---"
85+ codecovcli --verbose do-upload -t "$CODECOV_TOKEN" --dry-run --fail-on-error || echo "exit=$?"
86+ echo
87+ echo "--- 4b. inline secret in command (bypass envVariables) ---"
88+ codecovcli --verbose do-upload -t "<+secrets.getValue("Codecov_Upload_Token")>" --dry-run --fail-on-error || echo "exit=$?"
89+ echo
90+ echo "--- 4c. export in script then no -t (env-only path) ---"
91+ export CODECOV_TOKEN="<+secrets.getValue("Codecov_Upload_Token")>"
92+ echo "after inline export, length=${#CODECOV_TOKEN}"
93+ codecovcli --verbose do-upload --dry-run --fail-on-error || echo "exit=$?"
94+ echo
95+ echo "========== 5. Real upload (remove --dry-run when ready) =========="
96+ codecovcli --verbose do-upload -t "$CODECOV_TOKEN" --fail-on-error
5097 envVariables :
5198 CODECOV_TOKEN : <+secrets.getValue("Codecov_Upload_Token")>
5299 platform :
0 commit comments