You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Prefer TYPED_BLOCKER=npm_token_2fa_or_granular when registry requires 2FA
or granular bypass for publish, while keeping org/scope soft-pass and
already-published honesty after crates.io is green.
Copy file name to clipboardExpand all lines: .github/workflows/publish.yml
+17-5Lines changed: 17 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -540,6 +540,17 @@ jobs:
540
540
set -e
541
541
printf '%s\n' "${out}"
542
542
if [[ ${ec} -ne 0 ]]; then
543
+
# Prefer specific auth-class residual over the generic org/scope soft-pass.
544
+
# Org can exist while classic automation tokens still fail npm publish 2FA policy.
545
+
if printf '%s\n' "${out}" | grep -Eqi \
546
+
'Two-factor authentication|granular access token|bypass 2fa|bypass two-factor|OTP|one-time password'; then
547
+
{
548
+
echo "TYPED_BLOCKER=npm_token_2fa_or_granular"
549
+
echo "detail=npm publish failed: registry requires two-factor authentication or a granular access token with bypass 2FA for publish. crates.io chain already succeeded (crates job green). @basecrawl org may already exist; NPM_TOKEN must be a publish-capable granular token (bypass 2FA) for @basecrawl/sdk. M25 does not auto-rotate secrets."
0 commit comments