diff --git a/.github/workflows/crowdin-i18n-client-ui-download.yml b/.github/workflows/crowdin-i18n-client-ui-download.yml index 08019b3503..82c0341fb1 100644 --- a/.github/workflows/crowdin-i18n-client-ui-download.yml +++ b/.github/workflows/crowdin-i18n-client-ui-download.yml @@ -1,6 +1,9 @@ name: Crowdin Client UI Download on: workflow_dispatch: + schedule: + # runs every day at 12:15 PM UTC + - cron: "15 12 * * *" jobs: i18n-download-client-ui-translations: @@ -80,3 +83,38 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID_CLIENT }} CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_SERVICE_TOKEN }} + + # Generate PR - all languages should go ABOVE this. # + - name: Create PR + uses: actions/github-script@v3 + with: + github-token: ${{ secrets.CROWDIN_CAMPERBOT_PAT }} + script: | + const PR = await github.pulls.create({ + owner: 'freeCodeCamp', + repo: 'freeCodeCamp', + head: 'i18n-sync-learn', + base: 'main', + title: 'chore(i18n,client): processed translations', + body: 'This PR was opened auto-magically by Crowdin.' + }); + const PRNumber = PR.data.number; + await github.issues.addLabels({ + owner: 'freeCodeCamp', + repo: 'freeCodeCamp', + issue_number: PRNumber, + labels: [ + "crowdin-sync", + "scope: i18n", + "scope: UI" + ] + }); + await github.pulls.requestReviewers({ + owner: 'freeCodeCamp', + repo: 'freeCodeCamp', + pull_number: PRNumber, + reviewers: [ + 'RandellDawson', + 'nhcarrigan' + ] + }); diff --git a/.github/workflows/crowdin-i18n-client-ui-upload.yml b/.github/workflows/crowdin-i18n-client-ui-upload.yml index a13ad9ba4f..42e14f0690 100644 --- a/.github/workflows/crowdin-i18n-client-ui-upload.yml +++ b/.github/workflows/crowdin-i18n-client-ui-upload.yml @@ -1,6 +1,9 @@ name: Crowdin Client UI Upload on: workflow_dispatch: + schedule: + # runs everyday at 11:15 AM UTC + - cron: "15 11 * * *" jobs: i18n-upload-client-ui-files: diff --git a/.github/workflows/crowdin-i18n-curriculum-download.yml b/.github/workflows/crowdin-i18n-curriculum-download.yml index ab7d4991fe..efaec0ad09 100644 --- a/.github/workflows/crowdin-i18n-curriculum-download.yml +++ b/.github/workflows/crowdin-i18n-curriculum-download.yml @@ -2,8 +2,8 @@ name: Crowdin Curriculum Download on: workflow_dispatch: schedule: - # runs every day at 12:00 noon UTC - - cron: "0 12 * * *" + # runs every day at 12:30 PM UTC + - cron: "30 12 * * *" jobs: i18n-download-curriculum-translations: @@ -96,7 +96,7 @@ jobs: repo: 'freeCodeCamp', head: 'i18n-sync-learn', base: 'main', - title: 'Crowdin Sync Learn', + title: 'chore(i18n,learn): processed translations', body: 'This PR was opened auto-magically by Crowdin.' }); const PRNumber = PR.data.number; diff --git a/.github/workflows/crowdin-i18n-curriculum-upload.yml b/.github/workflows/crowdin-i18n-curriculum-upload.yml index 9844ecc5ba..5c4a38c1ec 100644 --- a/.github/workflows/crowdin-i18n-curriculum-upload.yml +++ b/.github/workflows/crowdin-i18n-curriculum-upload.yml @@ -2,8 +2,8 @@ name: Crowdin Curriculum Upload on: workflow_dispatch: schedule: - # runs everyday at 11:00 AM UTC - - cron: "0 11 * * *" + # runs everyday at 11:30 AM UTC + - cron: "30 11 * * *" jobs: i18n-upload-curriculum-files: diff --git a/.github/workflows/crowdin-i18n-docs-download..yml b/.github/workflows/crowdin-i18n-docs-download..yml index 2a8cb7b6a5..47cf8ea880 100644 --- a/.github/workflows/crowdin-i18n-docs-download..yml +++ b/.github/workflows/crowdin-i18n-docs-download..yml @@ -1,6 +1,9 @@ name: Crowdin Docs Download on: workflow_dispatch: + schedule: + # runs every day at 12:00 noon UTC + - cron: "0 12 * * *" jobs: i18n-download-docs-translations: @@ -114,3 +117,38 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID_DOCS }} CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_SERVICE_TOKEN }} + + # Generate PR - all languages should go ABOVE this. # + - name: Create PR + uses: actions/github-script@v3 + with: + github-token: ${{ secrets.CROWDIN_CAMPERBOT_PAT }} + script: | + const PR = await github.pulls.create({ + owner: 'freeCodeCamp', + repo: 'freeCodeCamp', + head: 'i18n-sync-docs', + base: 'main', + title: 'chore(i18n,docs): processed translations', + body: 'This PR was opened auto-magically by Crowdin.' + }); + const PRNumber = PR.data.number; + await github.issues.addLabels({ + owner: 'freeCodeCamp', + repo: 'freeCodeCamp', + issue_number: PRNumber, + labels: [ + "crowdin-sync", + "scope: i18n", + "scope: docs" + ] + }); + await github.pulls.requestReviewers({ + owner: 'freeCodeCamp', + repo: 'freeCodeCamp', + pull_number: PRNumber, + reviewers: [ + 'RandellDawson', + 'nhcarrigan' + ] + }); diff --git a/.github/workflows/crowdin-i18n-docs-upload.yml b/.github/workflows/crowdin-i18n-docs-upload.yml index 81ed66c89f..979441e457 100644 --- a/.github/workflows/crowdin-i18n-docs-upload.yml +++ b/.github/workflows/crowdin-i18n-docs-upload.yml @@ -1,6 +1,9 @@ name: Crowdin Docs Upload on: workflow_dispatch: + schedule: + # runs everyday at 11:00 AM UTC + - cron: "0 11 * * *" jobs: i18n-upload-docs-files: