Skip to content

GitHub Actions

GitHub Actions ഉപയോഗിക്കുക നിങ്ങളുടെ റെപ്പോസിറ്ററി മാറ്റപ്പെട്ട ഡോക്യുമെൻറേഷൻ സ്വയം വിവർത്തനം ചെയ്ത് സൃഷ്ടിച്ച ഔട്ട്പുട്ടുകളാൽ ഒരു пул് റിക്വസ്റ്റ് തുറക്കാൻ ആഗ്രഹിച്ചാൽ.

മിക്ക റെപ്പോസിറ്ററികളും സാധാരണ GITHUB_TOKEN സെറ്റപ്പും ഉപയോഗിക്കണം. നിങ്ങളുടെ ഓർഗനൈസേഷൻ ഡിഫോൾട്ട് ടോക്കൺ അനുമതികൾ നിയന്ത്രിക്കുകയോ ആപ്പ് അടിസ്ഥാനത്തിൽ ഓത്ഥന്റിക്കേഷൻ ആവശ്യപ്പെടുകയോ ചെയ്യുന്നത് മാത്രമാണ് GitHub App സെറ്റപ് ഉപയോഗിക്കുക.

Prerequisites

വർക്ക്ഫ്ലോ നിർമ്മിക്കുന്നതിന് മുമ്പ്, നിങ്ങളുടെ വിവർത്തന റൺ ആവശ്യപ്പെടുന്ന AI സേവന സീക്രറ്റുകൾ കോൺഫിഗർ ചെയ്യുക.

ടെക്സ്റ്റ് വിവർത്തനത്തിന് ഒരു ഭാഷാ മോഡൽ പ്രൊവൈഡർ ആവശ്യമാണ്:

  • Azure OpenAI: AZURE_OPENAI_API_KEY, AZURE_OPENAI_ENDPOINT, AZURE_OPENAI_MODEL_NAME, AZURE_OPENAI_CHAT_DEPLOYMENT_NAME, AZURE_OPENAI_API_VERSION
  • OpenAI: OPENAI_API_KEY, OPENAI_CHAT_MODEL_ID, plus optional OPENAI_ORG_ID and OPENAI_BASE_URL

ഇമേജ് വിവർത്തനത്തിന് അതോടൊപ്പം Azure AI Vision ആവശ്യമാണ്:

  • AZURE_AI_SERVICE_API_KEY
  • AZURE_AI_SERVICE_ENDPOINT

ലോക്കൽ കോൺഫിഗറേഷൻ വിവരങ്ങൾക്ക് നോക്കുക Configurationയും Azure AI Setupയും.

Standard Setup

പല പൊതുയും സ്വകാര്യ റെപ്പോസിറ്ററികളിലും ഈ സെറ്റപ്പ് ഉപയോഗിക്കുക.

Step 1: Add Repository Secrets

ലക്ഷ്യമാക്കിയ റെപ്പോസിറ്ററിയിൽ Settings > Secrets and variables > Actions തുറന്ന് നിങ്ങളുടെ വർക്ക്ഫ്ലോ ഉപയോഗിക്കുന്ന പ്രൊവൈഡർ സീക്രറ്റുകൾ ചേർക്കുക.

കറക്ട് Actions സീക്രറ്റുകൾ തിരഞ്ഞെടുക്കുക

Step 2: Enable Workflow Permissions

Settings > Actions > General തുറക്കുക.

Workflow permissions لاندې:

  1. Read and write permissions തിരഞ്ഞെടുക്കുക.
  2. Allow GitHub Actions to create and approve pull requests പ്രവർത്തനക്ഷമമാക്കുക.
  3. സെറ്റിംഗ് സൂക്ഷിക്കുക.

വർക്ക്ഫ്ലോ അനുമതിയുടെ സെറ്റിംഗ്

Step 3: Add the Workflow

സൃഷ്ടിക്കുക .github/workflows/co-op-translator.yml:

name: Co-op Translator

on:
  push:
    branches:
      - main

jobs:
  co-op-translator:
    runs-on: ubuntu-latest

    permissions:
      contents: write
      pull-requests: write

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Set up Python
        uses: actions/setup-python@v4
        with:
          python-version: "3.10"

      - name: Install Co-op Translator
        run: |
          python -m pip install --upgrade pip
          pip install co-op-translator

      - name: Run Co-op Translator
        env:
          PYTHONIOENCODING: utf-8
          AZURE_AI_SERVICE_API_KEY: ${{ secrets.AZURE_AI_SERVICE_API_KEY }}
          AZURE_AI_SERVICE_ENDPOINT: ${{ secrets.AZURE_AI_SERVICE_ENDPOINT }}
          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 }}
          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 }}
        run: |
          translate -l "es fr de" -y

      - name: Create Pull Request with translations
        uses: peter-evans/create-pull-request@v5
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          commit-message: "Update translations via Co-op Translator"
          title: "Update translations via Co-op Translator"
          body: |
            This PR updates translations for recent changes to the main branch.

            Generated by Co-op Translator.
          branch: update-translations
          base: main
          labels: translation, automated-pr
          delete-branch: true
          add-paths: |
            translations/
            translated_images/

translate -l "es fr de" -y എന്നത് നിങ്ങളുടെ പ്രോജക്റ്റിന് ആവശ്യമായ ലക്ഷ്യഭാഷകളിലേക്കും ഉള്ളടക്ക ഫ്ലാഗുകളിലേക്കും മാറ്റുക. വലിയ റെപ്പോസിറ്ററികൾക്കായി, ഡോക്യുമെന്റേഷൻ മാറ്റങ്ങൾ സംഭവിക്കുമ്പോഴേ വർക്ക്ഫ്ലോ ഓടുകയുള്ളൂ എന്ന് ഉറപ്പാക്കാൻ on:paths: ഫിൽറ്റർ ചേർക്കുക.

GitHub App Setup

GITHUB_TOKEN നിങ്ങളുടെ ഓർഗനൈസേഷനിൽ കമ്മിറ്റുകളും пул് റിക്വസ്റ്റുകളും സൃഷ്ടിക്കാൻ കഴിയാത്തപ്പോൾ ഈ സെറ്റപ്പ് ഉപയോഗിക്കുക.

Step 1: Create or Install a GitHub App

Contentsക്കും Pull requestsക്കും റീഡ്/റൈറ്റ് ആക്സസ് ഉള്ള GitHub App സൃഷ്ടിക്കുക, അല്ലെങ്കിൽ നിങ്ങളുടെ ഓർഗനൈസേഷൻ ഇതിനകം ഒരു അപ് നികത്തിയിട്ടുണ്ടെങ്കിൽ അത് ഇൻസ്റ്റാൾ ചെയ്യുക.

गाൺഡ് ചെയ്ത് സൂക്ഷിക്കുക:

  • App ID
  • Private key contents

അവയെ റെപ്പോസിറ്ററി സീക്രറ്റുകളായി സൂക്ഷിക്കുക:

  • GH_APP_ID
  • GH_APP_PRIVATE_KEY

Step 2: Generate an App Token

സ്റ്റാൻഡേർഡ് സെറ്റപ്പിനോട് ചേതവുന്ന അതേ വർക്ക്ഫ്ലോ ഉപയോഗിക്കുക, പക്ഷേ пул് റിക്വസ്റ്റ് ഘട്ടത്തിന് മുമുമ്പ് app-token ഘട്ടം ചേർക്കുക:

      - name: Authenticate GitHub App
        id: generate_token
        uses: tibdex/github-app-token@v1
        with:
          app_id: ${{ secrets.GH_APP_ID }}
          private_key: ${{ secrets.GH_APP_PRIVATE_KEY }}

      - name: Create Pull Request with translations
        uses: peter-evans/create-pull-request@v5
        with:
          token: ${{ steps.generate_token.outputs.token }}
          commit-message: "Update translations via Co-op Translator"
          title: "Update translations via Co-op Translator"
          branch: update-translations
          base: main
          delete-branch: true
          add-paths: |
            translations/
            translated_images/

Runner Limits

GitHub-ഹോസ്റ്റ് ചെയ്‌ത റണ്ണർമാർക്കുള്ള ഒരു പരമാവധി ജോബ് ദൈർഘ്യമുണ്ട്. വലിയ റെപ്പോസിറ്ററികൾ അല്ലെങ്കിൽ നിരവധി ലക്ഷ്യഭാഷകൾ ആ പരിധി കടക്കാൻ ആകാം.

വലിയ വിവർത്തന ജോലികളെക്കുറിച്ച്:

  • ഒരു റൺകൊണ്ട് കുറവ് ഭാഷകൾ വിവർത്തനം ചെയ്യുക.
  • -md, -nb, അല്ലെങ്കിൽ -img പോലുള്ള ഉള്ളടക്ക ഫ്ലാഗുകൾ ഉപയോഗിക്കുക.
  • റെപ്പോസിറ്ററി വലുപ്പം അല്ലെങ്കിൽ മോഡൽ ലേറ്റൻസി ഹോസ്റ്റഡ് റണ്ണറുകളെ വിശ്വസനീയമല്ലാതാക്കുമ്പോൾ self-hosted റണ്ണർ ഉപയോഗിക്കുക.

Review in CI

ഒരു пул് റിക്വസ്റ്റ് സൃഷ്ടിച്ച വിവർത്തനങ്ങൾ സൃഷ്ടിക്കാൻ LLM അല്ലെങ്കിൽ Vision പ്രൊവൈഡറുകളെ വിളിക്കാതെയ്‌ക്കാണ് പരിശോധന നടത്തേണ്ടത് എങ്കിൽ co-op-review ഉപയോഗിക്കുക.

      - name: Review translated outputs
        run: |
          co-op-review --changed-from "origin/${{ github.base_ref }}" --format github

co-op-review ഒരു ബീറ്റാ ഡിസ്ടർമിനിസ്റ്റിക് റിവ്യൂ കമാൻഡാണ്. അതിന്റെ ചെക്കുകളും ഔട്ട്പുട്ട് സ്കീമയും മുന്നോട്ട് പോകുമ്പോൾ മാറാം, പക്ഷേ ഫയലുകൾ എഴുതുകയോ മോഡൽ പ്രൊവൈഡറുകളെ വിളിക്കുകയോ ചെയ്യാത്തതിനാൽ അത് CI ന് സുരക്ഷിതമായി രൂപകൽപ്പന ചെയ്തതാണ്.