Skip to content

Commit 3f650ab

Browse files
fix(ci): prevent update-translations push races
Concurrent runs triggered by rapid pushes to main were racing to push their translation-update commit, causing non-fast-forward rejections. Serialize runs per-ref and retry regeneration against the latest main on push conflict instead of failing outright.
1 parent 3020d53 commit 3f650ab

31 files changed

Lines changed: 588 additions & 560 deletions

File tree

.github/workflows/update-translations.yml

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ permissions:
1616
contents: write
1717
actions: write
1818

19+
concurrency:
20+
group: update-translations-${{ github.ref }}
21+
cancel-in-progress: false
22+
1923
jobs:
2024
update-translations:
2125
runs-on: ubuntu-latest
@@ -36,23 +40,30 @@ jobs:
3640
- name: Install gettext
3741
run: sudo apt-get update && sudo apt-get install -y gettext
3842

39-
- name: Run update_translations.sh
40-
run: bash scripts/update_translations.sh
41-
42-
- name: Commit translation updates
43+
- name: Regenerate, commit, and push translation updates
4344
run: |
4445
git config --global user.name "github-actions[bot]"
4546
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
46-
git add -f messages.pot cps/translations/*/LC_MESSAGES/messages.po
47-
if git diff --cached --quiet; then
48-
echo "No translation changes to commit"
49-
echo "TRANSLATION_COMMITTED=0" >> $GITHUB_ENV
50-
else
47+
for i in 1 2 3 4 5; do
48+
git fetch origin main
49+
git reset --hard origin/main
50+
bash scripts/update_translations.sh
51+
git add -f messages.pot cps/translations/*/LC_MESSAGES/messages.po
52+
if git diff --cached --quiet; then
53+
echo "No translation changes to commit"
54+
echo "TRANSLATION_COMMITTED=0" >> $GITHUB_ENV
55+
exit 0
56+
fi
5157
git commit -m "Update translations [skip ci]"
52-
git push
53-
echo "TRANSLATION_COMMITTED=1" >> $GITHUB_ENV
54-
echo "TRANSLATION_COMMIT_SHA=$(git rev-parse HEAD)" >> $GITHUB_ENV
55-
fi
58+
if git push; then
59+
echo "TRANSLATION_COMMITTED=1" >> $GITHUB_ENV
60+
echo "TRANSLATION_COMMIT_SHA=$(git rev-parse HEAD)" >> $GITHUB_ENV
61+
exit 0
62+
fi
63+
echo "Push rejected, retrying against latest main (attempt $i)"
64+
done
65+
echo "Push failed after retries" >&2
66+
exit 1
5667
5768
- name: Select dev build SHA
5869
run: |

CONTRIBUTORS

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ Copyright (C) 2018-2026 Calibre-Web contributors
1111
Copyright (C) 2024-2026 Calibre-Web Automated contributors
1212
# Upstream Contributors (janeczku/calibre-web)
1313

14-
- OzzieIsaacs (anon) (2839 commits)
15-
- Ozzie Isaacs (anon) (286 commits)
14+
- OzzieIsaacs (anon) (2858 commits)
15+
- Ozzie Isaacs (anon) (288 commits)
1616
- cbartondock (96 commits)
1717
- idalin (69 commits)
1818
- cervinko (68 commits)
@@ -99,6 +99,7 @@ Copyright (C) 2024-2026 Calibre-Web Automated contributors
9999
- jarynclouatre (3 commits)
100100
- JFernando122 (3 commits)
101101
- Kennyl (3 commits)
102+
- lb803 (3 commits)
102103
- lorek123 (anon) (3 commits)
103104
- OlivierMaire (3 commits)
104105
- SiphonSquirrel (3 commits)
@@ -112,6 +113,7 @@ Copyright (C) 2024-2026 Calibre-Web Automated contributors
112113
- andrerfcsantos (2 commits)
113114
- Angel Docampo (anon) (2 commits)
114115
- AnonTester (2 commits)
116+
- AshayK003 (2 commits)
115117
- beedaddy (2 commits)
116118
- bharatknv (2 commits)
117119
- chapmanjacobd (2 commits)
@@ -134,7 +136,6 @@ Copyright (C) 2024-2026 Calibre-Web Automated contributors
134136
- jim3ma (2 commits)
135137
- juanfernandovillahernandez (2 commits)
136138
- KN4CK3R (2 commits)
137-
- lb803 (2 commits)
138139
- leahjessie (2 commits)
139140
- marblepebble (2 commits)
140141
- nanu-c (2 commits)
@@ -179,7 +180,9 @@ Copyright (C) 2024-2026 Calibre-Web Automated contributors
179180
- asukavuuyn (1 commits)
180181
- auveele (1 commits)
181182
- BeckyDTP (1 commits)
183+
- Benoît Perrin (anon) (1 commits)
182184
- bernizt (1 commits)
185+
- blake502 (1 commits)
183186
- boosh (1 commits)
184187
- Braincoke (anon) (1 commits)
185188
- brandoningli (1 commits)
@@ -208,6 +211,7 @@ Copyright (C) 2024-2026 Calibre-Web Automated contributors
208211
- elelay (1 commits)
209212
- elfcan (1 commits)
210213
- epsilon-0 (1 commits)
214+
- evaldass (1 commits)
211215
- evijayan2 (1 commits)
212216
- fabwu (1 commits)
213217
- Feige-cn (1 commits)
@@ -222,6 +226,7 @@ Copyright (C) 2024-2026 Calibre-Web Automated contributors
222226
- h3xten (1 commits)
223227
- halink0803 (1 commits)
224228
- HotGarbo (1 commits)
229+
- iceout (1 commits)
225230
- ImanSharaf (1 commits)
226231
- Irishsmurf (1 commits)
227232
- JamesMcNee (1 commits)
@@ -254,6 +259,7 @@ Copyright (C) 2024-2026 Calibre-Web Automated contributors
254259
- lucaparsani (anon) (1 commits)
255260
- lucindaq (1 commits)
256261
- lunananananananana (1 commits)
262+
- magx2 (1 commits)
257263
- malletfils (1 commits)
258264
- manad777 (1 commits)
259265
- Martreides (1 commits)
@@ -269,6 +275,7 @@ Copyright (C) 2024-2026 Calibre-Web Automated contributors
269275
- nferrari (1 commits)
270276
- NickWick13 (1 commits)
271277
- Nico31240 (1 commits)
278+
- NotSirius-A (1 commits)
272279
- oguzkilcan (1 commits)
273280
- overhacked (1 commits)
274281
- petervirtech (1 commits)
@@ -300,6 +307,7 @@ Copyright (C) 2024-2026 Calibre-Web Automated contributors
300307
- Thijxx (1 commits)
301308
- tomchiverton (1 commits)
302309
- tomjmul (1 commits)
310+
- TowyTowy (1 commits)
303311
- vagra (1 commits)
304312
- viljasenville (1 commits)
305313
- Vistaus (1 commits)
@@ -324,9 +332,9 @@ Copyright (C) 2024-2026 Calibre-Web Automated contributors
324332
- zhiyue (1 commits)
325333
# Fork Contributors (crocodilestick/calibre-web-automated)
326334

327-
- crocodilestick (1155 commits)
335+
- crocodilestick (1159 commits)
328336
- jmarmstrong1207 (73 commits)
329-
- github-actions[bot] (32 commits)
337+
- github-actions[bot] (34 commits)
330338
- demitrix (30 commits)
331339
- sirwolfgang (29 commits)
332340
- Domoel (21 commits)
@@ -338,8 +346,11 @@ Copyright (C) 2024-2026 Calibre-Web Automated contributors
338346
- nstwfdev (8 commits)
339347
- ManuelDrescher (7 commits)
340348
- alva-seal (anon) (6 commits)
349+
- burakemirsezen (5 commits)
350+
- SethMilliken (5 commits)
341351
- smevawala (5 commits)
342352
- Aymendje (4 commits)
353+
- navels (4 commits)
343354
- opswhisperer (4 commits)
344355
- alexantao (3 commits)
345356
- Calychas (3 commits)
@@ -351,8 +362,7 @@ Copyright (C) 2024-2026 Calibre-Web Automated contributors
351362
- tmacphail (3 commits)
352363
- zikasak (3 commits)
353364
- aaronpowell (2 commits)
354-
- Andrej Kralj (anon) (2 commits)
355-
- burakemirsezen (2 commits)
365+
- andrejkralj-thj (2 commits)
356366
- chad3814 (2 commits)
357367
- coissac (2 commits)
358368
- DendyA (2 commits)
@@ -362,6 +372,7 @@ Copyright (C) 2024-2026 Calibre-Web Automated contributors
362372
- JamesRy96 (2 commits)
363373
- jordibrouwer (2 commits)
364374
- Olen (2 commits)
375+
- scottjamesrogers (2 commits)
365376
- sethvoltz (2 commits)
366377
- Strubbl (2 commits)
367378
- tecosaur (2 commits)
@@ -370,8 +381,10 @@ Copyright (C) 2024-2026 Calibre-Web Automated contributors
370381
- Valenth (2 commits)
371382
- a-eukarya (1 commits)
372383
- AlexSat (1 commits)
384+
- AsherMaximum (1 commits)
373385
- avisclair (1 commits)
374386
- bcrdncola (1 commits)
387+
- black-dragon74 (1 commits)
375388
- bnugent (1 commits)
376389
- brunofin (1 commits)
377390
- brushax (1 commits)
@@ -395,6 +408,7 @@ Copyright (C) 2024-2026 Calibre-Web Automated contributors
395408
- helmerzNL (1 commits)
396409
- Hobogrammer (anon) (1 commits)
397410
- HotGarbo (1 commits)
411+
- hsttlrjeff (1 commits)
398412
- imajes (1 commits)
399413
- InsideTheVoid (1 commits)
400414
- ivantrejo41 (1 commits)
@@ -405,6 +419,7 @@ Copyright (C) 2024-2026 Calibre-Web Automated contributors
405419
- jspiers (1 commits)
406420
- kevpam (1 commits)
407421
- KucharczykL (1 commits)
422+
- kurtlieber (1 commits)
408423
- lazyusername (1 commits)
409424
- Lee Nave (anon) (1 commits)
410425
- marauder37 (1 commits)
@@ -415,10 +430,11 @@ Copyright (C) 2024-2026 Calibre-Web Automated contributors
415430
- mihnea.bulugioiu (anon) (1 commits)
416431
- morpheus65535 (1 commits)
417432
- n00b42 (1 commits)
418-
- navels (1 commits)
419433
- Nementon (1 commits)
420434
- NotaInutilis (1 commits)
421435
- r0b2g1t (1 commits)
436+
- rancur (1 commits)
437+
- raphi011 (1 commits)
422438
- rjaakke (1 commits)
423439
- robinwo (1 commits)
424440
- Rustymage (1 commits)

cps/translations/ar/LC_MESSAGES/messages.po

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ msgstr ""
77
"Project-Id-Version: Calibre-Web Automated\n"
88
"Report-Msgid-Bugs-To: https://github.com/crocodilestick/Calibre-Web-"
99
"Automated\n"
10-
"POT-Creation-Date: 2026-07-05 13:13+0000\n"
10+
"POT-Creation-Date: 2026-08-05 16:15+0200\n"
1111
"PO-Revision-Date: 2025-06-07 14:44+0300\n"
1212
"Last-Translator: UsamaFoad <usamafoad@gmail.com>\n"
1313
"Language-Team: \n"
@@ -2588,7 +2588,7 @@ msgstr ""
25882588
msgid "Duplicate scan completed: %(count)s groups auto-resolved"
25892589
msgstr ""
25902590

2591-
#: cps/tasks/mail.py:275
2591+
#: cps/tasks/mail.py:295
25922592
msgid "E-mail"
25932593
msgstr "بريد إلكتروني"
25942594

@@ -6040,7 +6040,7 @@ msgstr "تسجيل الخروج"
60406040
msgid "Switch Theme"
60416041
msgstr "السمة البسيطة"
60426042

6043-
#: cps/templates/layout.html:166 cps/templates/read.html:78
6043+
#: cps/templates/layout.html:166 cps/templates/read.html:79
60446044
#: cps/templates/readcbr.html:70 cps/templates/readcbr.html:96
60456045
msgid "Settings"
60466046
msgstr "الإعدادات"
@@ -6287,63 +6287,63 @@ msgstr "كتالوج الكتب الإلكترونية Calibre-Web"
62876287
msgid "epub Reader"
62886288
msgstr "قارئ epub"
62896289

6290-
#: cps/templates/read.html:84 cps/templates/readcbr.html:104
6290+
#: cps/templates/read.html:85 cps/templates/readcbr.html:104
62916291
msgid "Light"
62926292
msgstr "فاتح"
62936293

6294-
#: cps/templates/read.html:86 cps/templates/readcbr.html:105
6294+
#: cps/templates/read.html:87 cps/templates/readcbr.html:105
62956295
msgid "Dark"
62966296
msgstr "داكن"
62976297

6298-
#: cps/templates/read.html:88
6298+
#: cps/templates/read.html:89
62996299
msgid "Sepia"
63006300
msgstr "بني داكن"
63016301

6302-
#: cps/templates/read.html:90
6302+
#: cps/templates/read.html:91
63036303
msgid "Black"
63046304
msgstr "أسود"
63056305

6306-
#: cps/templates/read.html:95
6306+
#: cps/templates/read.html:96
63076307
msgid "Reflow text when sidebars are open."
63086308
msgstr "إعادة تدفق النص عند فتح الأشرطة الجانبية."
63096309

6310-
#: cps/templates/read.html:100
6310+
#: cps/templates/read.html:101
63116311
msgid "Font Sizes"
63126312
msgstr "أحجام الخطوط"
63136313

6314-
#: cps/templates/read.html:105
6314+
#: cps/templates/read.html:106
63156315
msgid "Font"
63166316
msgstr "الخط"
63176317

6318-
#: cps/templates/read.html:106
6318+
#: cps/templates/read.html:107
63196319
msgid "Default"
63206320
msgstr "افتراضي"
63216321

6322-
#: cps/templates/read.html:107
6322+
#: cps/templates/read.html:108
63236323
msgid "Yahei"
63246324
msgstr "ياهاي"
63256325

6326-
#: cps/templates/read.html:108
6326+
#: cps/templates/read.html:109
63276327
msgid "SimSun"
63286328
msgstr "SimSun"
63296329

6330-
#: cps/templates/read.html:109
6330+
#: cps/templates/read.html:110
63316331
msgid "KaiTi"
63326332
msgstr "KaiTi"
63336333

6334-
#: cps/templates/read.html:110
6334+
#: cps/templates/read.html:111
63356335
msgid "Arial"
63366336
msgstr "Arial"
63376337

6338-
#: cps/templates/read.html:113
6338+
#: cps/templates/read.html:114
63396339
msgid "Spread"
63406340
msgstr "انتشار"
63416341

6342-
#: cps/templates/read.html:114
6342+
#: cps/templates/read.html:115
63436343
msgid "Two columns"
63446344
msgstr "عمودان"
63456345

6346-
#: cps/templates/read.html:115
6346+
#: cps/templates/read.html:116
63476347
msgid "One column"
63486348
msgstr "عمود واحد"
63496349

0 commit comments

Comments
 (0)