diff --git a/.github/workflows/translate_pt b/.github/workflows/translate_pt new file mode 100644 index 00000000..5f2f8efc --- /dev/null +++ b/.github/workflows/translate_pt @@ -0,0 +1,71 @@ +name: Translator to PT (Portuguese) + +on: + push: + branches: + - master + paths-ignore: + - 'scripts/**' + - '.gitignore' + - '.github/**' + workflow_dispatch: + + +jobs: + run-translation: + runs-on: ubuntu-latest + environment: prod + env: + LANGUAGE: Portuguese + BRANCH: pt + + steps: + - name: Checkout code + uses: actions/checkout@v2 + with: + fetch-depth: 0 #Needed to download everything to be able to access the master & language branches + + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: 3.8 + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip3 install openai tqdm + + - name: Download language branch #Make sure we have last version + run: | + git config --global user.name 'Translator' + git config --global user.email 'github-actions@github.com' + git checkout "$BRANCH" + git pull + git checkout master + + - name: Run translation script on changed files + run: | + echo "Starting translations" + echo "Commit: $GITHUB_SHA" + + # Export the OpenAI API key as an environment variable + export OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }} + + # Run the translation script on each changed file + git diff-tree --no-commit-id --name-only -r "$GITHUB_SHA" | grep -v "SUMMARY.md" | while read -r file; do + if echo "$file" | grep -qE '\.md$'; then + echo -n "$file , " >> /tmp/file_paths.txt + else + echo "Skipping $file" + fi + done + + echo "Translating $(cat /tmp/file_paths.txt)" + python scripts/translator.py --language "$LANGUAGE" --branch "$BRANCH" --api-key "$OPENAI_API_KEY" -f "$(cat /tmp/file_paths.txt)" + + - name: Commit and push changes + run: | + git checkout "$BRANCH" + git add -A + git commit -m "Translated $BRANCH files" || true + git push --set-upstream origin "$BRANCH"