[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/python/python-docs-ja/3.15/.github/workflows/update.yml [Back]  [Original]

# Adapted from python/python-docs-pt-br
# Original (replaced update.yml): https://github.com/python/python-docs-pt-br/blob/main/.github/workflows/sync.yml
name: Update translations

on:
  workflow_dispatch:
  schedule:
    - cron: '40 23 * * *'

permissions:
  contents: read

env:
  CPYTHON_BRANCH: '3.15'
  LANGUAGE: 'ja'
  TX_CLI_VERSION: '1.6.17'

jobs:
  update:
    # Job to pull translation from Transifex platform, and commit & push changes
    runs-on: ubuntu-latest
    permissions:
      contents: write
    steps:
      - name: Check out ${{ github.repository }}
        uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
        with:
          ref: ${{ env.CPYTHON_BRANCH }}
      - name: Check out CPython
        uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
        with:
          repository: python/cpython
          persist-credentials: false
          ref: ${{ env.CPYTHON_BRANCH }}
          path: cpython
      - name: Set up Python
        uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
        with:
          python-version: ${{ env.CPYTHON_BRANCH }}
          allow-prereleases: true
          cache: 'pip'
          cache-dependency-path: '**/requirements*.txt'
      - name: Install Transifex CLI
        run: |
          curl -fsSL https://raw.githubusercontent.com/transifex/cli/master/install.sh | bash -s -- "v${TX_CLI_VERSION}"
        working-directory: /usr/local/bin
      - name: Install dependencies
        run: |
          sudo apt-get update -y && sudo apt-get install gettext -y
          pip install --upgrade pip
          pip install -r requirements.txt -r cpython/Doc/requirements.txt
      - name: Test translation tooling
        run: python -B -m unittest discover -s tests
      - name: Update translations
        run: |
          sh scripts/update.sh
        env:
          TX_TOKEN: ${{ secrets.TX_TOKEN }}
          LANGUAGE: ${{ env.LANGUAGE }}
      - name: Wrap catalog message files
        run: |
          powrap --modified
      - name: Ignore timestamp-only changes
        run: python scripts/translations.py restore-timestamp-only .
      - name: Commit and push changes
        if: github.repository == 'python/python-docs-ja'
        run: |
          git config user.name github-actions
          git config user.email github-actions@github.com
          git status
          git add -A
          git diff-index --quiet HEAD || ( git commit -m "Update translations from Transifex" && git push )

  merge:
    # Merge translations previously updated into older branches to make sure
    # older versions of Python Docs gets translated as well.
    name: merge into ${{ matrix.branch }}
    needs: [update]
    strategy:
      matrix:
        branch: [ "3.14", "3.13" ]

    runs-on: ubuntu-latest
    permissions:
      contents: write
    steps:
      - name: Check out source branch (${{ env.CPYTHON_BRANCH }})
        uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
        with:
          ref: ${{ env.CPYTHON_BRANCH }}
          path: ${{ env.CPYTHON_BRANCH }}
          persist-credentials: false

      - name: Check out target branch (${{ matrix.branch }})
        uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
        with:
          ref: ${{ matrix.branch }}
          path: ${{ matrix.branch }}

      - name: Set up Python
        uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
        with:
          python-version: ${{ env.CPYTHON_BRANCH }}
          allow-prereleases: true
          cache: 'pip'
          cache-dependency-path: '**/requirements*.txt'

      - name: Install dependencies
        run: |
          sudo apt-get update -y && sudo apt-get install gettext -y
          pip install pomerge powrap

      - name: Merge overwriting on stable release branch
        run: |
          python "${{ env.CPYTHON_BRANCH }}/scripts/translations.py" merge "${{ env.CPYTHON_BRANCH }}" "${{ matrix.branch }}"

      - name: Wrap catalog message files
        run: |
          powrap --modified -C "${{ matrix.branch }}"
      - name: Ignore timestamp-only changes
        run: python "${{ env.CPYTHON_BRANCH }}/scripts/translations.py" restore-timestamp-only "${{ matrix.branch }}"

      - name: Commit and push changes
        if: github.repository == 'python/python-docs-ja'
        run: |
          cd "${{ matrix.branch }}"
          git config user.name github-actions
          git config user.email github-actions@github.com
          git status
          git add -A
          git diff-index --quiet HEAD || ( git commit -m "Merge ${{ env.CPYTHON_BRANCH }} into ${{ matrix.branch }}" && git push )

Web Proxy Viewer  |  New URL  |  Original Page