Repository navigation
131 lines (119 loc) · 4.64 KB
/
Copy pathupdate.yml
File metadata and controls
131 lines (119 loc) · 4.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# 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 )