Merge pull request #160 from github/migration/frontmatter-assets #15
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Co-op Translator | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - "**/*.md" | |
| - "**/*.png" | |
| - "**/*.jpg" | |
| - "**/*.jpeg" | |
| - "**/*.webp" | |
| - "!translations/**" | |
| - "!translated_images/**" | |
| - "!.github/**" | |
| - "!samples/skills/**" | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| jobs: | |
| translate-content: | |
| name: Translate Markdown and Images | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 90 | |
| env: | |
| TRANSLATION_LANGUAGES: "es" | |
| PYTHONIOENCODING: utf-8 | |
| AZURE_OPENAI_API_KEY: ${{ secrets.AZURE_OPENAI_API_KEY }} | |
| AZURE_OPENAI_ENDPOINT: ${{ secrets.AZURE_OPENAI_ENDPOINT }} | |
| AZURE_OPENAI_MODEL_NAME: ${{ secrets.AZURE_OPENAI_MODEL_NAME }} | |
| AZURE_OPENAI_CHAT_DEPLOYMENT_NAME: ${{ secrets.AZURE_OPENAI_CHAT_DEPLOYMENT_NAME }} | |
| AZURE_OPENAI_API_VERSION: ${{ secrets.AZURE_OPENAI_API_VERSION }} | |
| AZURE_AI_SERVICE_API_KEY: ${{ secrets.AZURE_AI_SERVICE_API_KEY }} | |
| AZURE_AI_SERVICE_ENDPOINT: ${{ secrets.AZURE_AI_SERVICE_ENDPOINT }} | |
| OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} | |
| OPENAI_ORG_ID: ${{ secrets.OPENAI_ORG_ID }} | |
| OPENAI_CHAT_MODEL_ID: ${{ secrets.OPENAI_CHAT_MODEL_ID }} | |
| OPENAI_BASE_URL: ${{ secrets.OPENAI_BASE_URL }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Install Co-op Translator | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install co-op-translator | |
| - name: Translate Markdown | |
| run: | | |
| for attempt in 1 2 3; do | |
| if translate -l "$TRANSLATION_LANGUAGES" -md -y -s --repo-url "https://github.com/github/copilot-cli-for-beginners.git"; then | |
| exit 0 | |
| fi | |
| echo "Markdown translation attempt $attempt failed." | |
| if [ "$attempt" -lt 3 ]; then | |
| sleep 30 | |
| fi | |
| done | |
| exit 1 | |
| - name: Translate images | |
| run: | | |
| for attempt in 1 2 3; do | |
| if translate -l "$TRANSLATION_LANGUAGES" -img -y -s --repo-url "https://github.com/github/copilot-cli-for-beginners.git"; then | |
| exit 0 | |
| fi | |
| echo "Image translation attempt $attempt failed." | |
| if [ "$attempt" -lt 3 ]; then | |
| sleep 30 | |
| fi | |
| done | |
| exit 1 | |
| - name: Normalize and review translations | |
| run: | | |
| migrate-links -l "$TRANSLATION_LANGUAGES" -y | |
| node .github/scripts/fix-translated-markdown.js "$TRANSLATION_LANGUAGES" | |
| if command -v co-op-review >/dev/null 2>&1; then | |
| co-op-review -l "$TRANSLATION_LANGUAGES" --format github | |
| else | |
| echo "co-op-review is not available in the installed Co-op Translator package; skipping." | |
| fi | |
| - name: Remove excluded translations | |
| run: | | |
| for language in $TRANSLATION_LANGUAGES; do | |
| rm -rf \ | |
| "translations/$language/.github" \ | |
| "translations/$language/samples/skills" \ | |
| "translated_images/$language/.github" \ | |
| "translated_images/$language/samples/skills" | |
| done | |
| - name: Upload Co-op Translator logs | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: co-op-translator-logs | |
| path: logs/ | |
| if-no-files-found: ignore | |
| - name: Create pull request | |
| uses: peter-evans/create-pull-request@v7 | |
| with: | |
| token: ${{ secrets.GH_AW_GITHUB_TOKEN }} | |
| commit-message: "Update translations via Co-op Translator" | |
| title: "Update translations via Co-op Translator" | |
| body: | | |
| This PR updates Markdown and image translations generated by Co-op Translator. | |
| Generated content is available in the `translations/` and `translated_images/` directories. | |
| branch: update-translations | |
| base: main | |
| labels: translation, automated-pr | |
| delete-branch: true | |
| add-paths: | | |
| translations/ | |
| translated_images/ |