Skip to content

ci: request workflows:write for crowdin translation token exchange cp-8.3.0#33403

Open
tommasini wants to merge 1 commit into
mainfrom
fix/crowdin-workflows-write
Open

ci: request workflows:write for crowdin translation token exchange cp-8.3.0#33403
tommasini wants to merge 1 commit into
mainfrom
fix/crowdin-workflows-write

Conversation

@tommasini

@tommasini tommasini commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Summary

Extends the fix from #33352 to the two Crowdin translation workflows that share the same new-branch-push pattern:

  • crowdin_download_translations.yml
  • crowdin-rc-download-translations.yml

Both mint an installation token via the token-exchange service and push a brand-new l10n branch (l10n_crowdin_translations_*) to open a translations PR. This is the exact pattern that caused create-release-pr.yml and update-release-changelog.yml to intermittently fail with:

! [remote rejected] ... (Unable to determine if workflow can be created or updated due to timeout; `workflows` scope may be required.)

GitHub performs a slow, dynamic push-protection check on new-branch pushes when the pushing token lacks the workflows scope, and that check occasionally times out on this monorepo. Pre-granting workflows: write on the minted token avoids the slow path entirely, even though these steps never touch .github/workflows/*.

Dependency

⚠️ This only updates what the workflows request. The token-exchange service's OPA policy also needs to grant workflows: write for these two workflows, the same way it was updated for create-release-pr.yml / update-release-changelog.yml. A policy-update prompt is included below for whoever owns that repo.

https://github.com/consensys-vertical-apps/token-exchange-service/pull/143

Test plan

  • Confirm YAML is valid (ruby -ryaml -e "YAML.load_file(...)" passed locally for both files)
  • Confirm token-exchange OPA policy is updated to grant workflows: write to these two workflows
  • Trigger crowdin_download_translations.yml and crowdin-rc-download-translations.yml manually (workflow_dispatch) and confirm the translations PR/branch push succeeds without the timeout error

Made with Cursor

Both crowdin_download_translations.yml and crowdin-rc-download-translations.yml
push brand-new l10n branches via installation tokens, the same pattern that
caused create-release-pr.yml / update-release-changelog.yml to hit GitHub's
push-protection timeout ("Unable to determine if workflow can be created or
updated due to timeout; workflows scope may be required"). Requesting
workflows:write avoids the slow dynamic check on new-branch pushes.

Co-authored-by: Cursor <cursoragent@cursor.com>
@tommasini tommasini requested a review from a team as a code owner July 16, 2026 09:23
@github-actions

Copy link
Copy Markdown
Contributor

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@metamask-ci metamask-ci Bot added team-mobile-platform Mobile Platform team INVALID-PR-TEMPLATE PR's body doesn't match template labels Jul 16, 2026
@metamask-ci

metamask-ci Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

PR template — items to address before "Ready for review"

Warnings — informational, address before merging:

See docs/readme/ready-for-review.md for the full Definition of Ready for Review.

@github-actions github-actions Bot added size-S risk:low AI analysis: low risk labels Jul 16, 2026
@tommasini tommasini changed the title ci: request workflows:write for crowdin translation token exchange ci: request workflows:write for crowdin translation token exchange cp-8.3.0 Jul 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

INVALID-PR-TEMPLATE PR's body doesn't match template risk:low AI analysis: low risk size-S team-mobile-platform Mobile Platform team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant