1919 steps :
2020 - uses : actions/checkout@v6
2121 with :
22- token : ${{ secrets.MACHINE_ACCOUNT_PAT }}
22+ token : ${{ secrets.GITHUB_TOKEN }}
2323 ref : ' main'
2424 fetch-depth : 0
2525
3838
3939 - name : Get second to latest run time
4040 env :
41- GH_TOKEN : ${{ secrets.MACHINE_ACCOUNT_PAT }}
41+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
4242 run : |
4343 OUTPUT=$(gh run list --workflow sync_translations.yml --json updatedAt | jq -r '.[1].updatedAt')
4444 echo "LATEST_RUN=$OUTPUT" >> $GITHUB_ENV
5050 script : |
5151 const lastRun = new Date(process.env.LATEST_RUN);
5252 const secondsPassed = Math.floor((Date.now() - lastRun.getTime()) / 1000);
53- const timeLeft = 1800 - secondsPassed > 0 ? 1800 - secondsPassed: 0;
53+ const timeLeft = 10 - secondsPassed > 0 ? 10 - secondsPassed: 0;
5454 console.log('Seconds to sleep for: ' + timeLeft);
5555 core.setOutput('time_left', timeLeft);
5656
@@ -69,49 +69,55 @@ jobs:
6969 yarn build
7070
7171 - name : Push translation sources to crowdin
72+ continue-on-error : true
7273 run : |
7374 cd ./tools/localization
7475 yarn start upload
7576
7677 - name : Pull translation updates from crowdin
78+ continue-on-error : true
7779 run : |
7880 cd ./tools/localization
7981 yarn start download
8082
8183 - name : Extract downloaded ankidroid.zip file
84+ continue-on-error : true
8285 run : |
8386 cd ./tools/localization
8487 yarn start extract
8588
8689 - name : Update translation to AnkiDroid res
90+ continue-on-error : true
8791 run : |
8892 cd ./tools/localization
8993 yarn start update
9094
91- - name : Commit changes
95+ - name : Check for changes
96+ id : tr_check
9297 run : |
9398 git add docs/marketing/localized_description AnkiDroid/src/main/res
94- git commit -am 'Updated strings from Crowdin'
99+ if git diff --cached --quiet; then
100+ echo "HAS_CHANGES=false" >> $GITHUB_OUTPUT
101+ else
102+ echo "HAS_CHANGES=true" >> $GITHUB_OUTPUT
103+ fi
104+
105+ - name : Commit and Push changes
106+ if : steps.tr_check.outputs.HAS_CHANGES == 'true'
107+ run : |
108+ git commit -m 'Updated strings from Crowdin'
95109 git push --set-upstream origin +i18n_sync
96- echo "The results of the sync are on the i18n_sync branch, PR them from there for merge."
97- echo "https://github.com/ankidroid/Anki-Android/compare/i18n_sync?expand=1"
98110
99- - name : Check if there are strings changes
100- id : tr_check
111+ - name : Update Summary
112+ if : steps. tr_check.outputs.HAS_CHANGES == 'false'
101113 run : |
102- git checkout i18n_sync
103- COMMITS_COUNT=`git rev-list --count HEAD ^main`
104- if [ "$COMMITS_COUNT" -gt 0 ]; then
105- echo "HAS_CHANGES=true" >> $GITHUB_OUTPUT
106- else
107- echo "HAS_CHANGES=false" >> $GITHUB_OUTPUT
108- fi
114+ echo "Translation Sync Result: No new translation found on Crowdin. No Pull Request necessary" >> $GITHUB_STEP_SUMMARY
109115
110116 - name : Create PR for strings changes if needed
111- if : ${{ steps.tr_check.outputs.HAS_CHANGES }}
117+ if : steps.tr_check.outputs.HAS_CHANGES == 'true'
112118 uses : actions/github-script@v9
113119 with :
114- github-token : ${{ secrets.MACHINE_ACCOUNT_PAT }}
120+ github-token : ${{ secrets.GITHUB_TOKEN }}
115121 script : |
116122 const now = new Date();
117123 // Date format used: YYYY/MM/DD HH:MM , UTC time(ex: 2023/01/13 08:38)
0 commit comments