Skip to content

Migrate translation workflows to @v0, adopt the review template, enable -W #27

Migrate translation workflows to @v0, adopt the review template, enable -W

Migrate translation workflows to @v0, adopt the review template, enable -W #27

# Rebase Translation PRs
#
# Install this workflow in the TARGET (translated) repository.
# When a translation PR is merged, this workflow automatically rebases the
# other open translation PRs against the updated main branch. It covers both
# kinds this tool creates: `translation-sync-*` branches from the Action's sync
# mode, and `resync/*` branches from the CLI's `forward --github`.
#
# This eliminates merge conflicts caused by multiple upstream PRs
# modifying the same files. See: https://github.com/QuantEcon/action-translation/issues/63
#
# Place this file at: .github/workflows/rebase-translations.yml
name: Rebase Translation PRs
on:
pull_request:
types: [closed]
jobs:
rebase:
# Only run when a translation PR is merged. Both prefixes must be listed:
# sync mode creates `translation-sync-*`, while the CLI's `forward --github`
# creates `resync/*`, and a wave of resync PRs goes stale the same way.
# Keep this in step with `isTranslationBranch` in the action's src/branch-naming.ts
# — this `if` decides whether the job runs, that predicate decides which open PRs
# it then rebases, so a prefix matching only one of them is a no-op run.
if: >
github.event.pull_request.merged == true &&
(startsWith(github.event.pull_request.head.ref, 'translation-sync-') ||
startsWith(github.event.pull_request.head.ref, 'resync/'))
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
# Prevent concurrent rebases from overlapping
concurrency:
group: rebase-translations
cancel-in-progress: false
steps:
- name: Rebase open translation PRs
uses: QuantEcon/action-translation@v0
with:
mode: rebase
anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }}
github-token: ${{ secrets.GITHUB_TOKEN }}