diff options
Diffstat (limited to '.github/workflows')
-rw-r--r-- | .github/workflows/sync-translated-content.yml | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/.github/workflows/sync-translated-content.yml b/.github/workflows/sync-translated-content.yml new file mode 100644 index 0000000000..4516c68c7c --- /dev/null +++ b/.github/workflows/sync-translated-content.yml @@ -0,0 +1,63 @@ +name: Sync Translated Content + +on: + workflow_dispatch: + inputs: + notes: + description: "Notes" + required: false + default: "" + schedule: + # * is a special character in YAML so you have to quote this string + - cron: "0 */24 * * *" + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - uses: actions/checkout@v2 + with: + repository: mdn/content + path: mdn/content + + - name: Setup Node.js environment + uses: actions/setup-node@v2.1.4 + with: + node-version: "12" + + - name: Cache node_modules + uses: actions/cache@v2.1.4 + id: cached-node_modules + with: + path: | + **/node_modules + key: ${{ runner.os }}-${{ hashFiles('**/yarn.lock') }} + + - name: Install all yarn packages + if: steps.cached-node_modules.outputs.cache-hit != 'true' + working-directory: ${{ github.workspace }}/mdn/content + run: | + yarn --frozen-lockfile + + - name: Build changed content + env: + CONTENT_ROOT: ${{ github.workspace }}/mdn/content/files + CONTENT_TRANSLATED_ROOT: ${{ github.workspace }}/files + working-directory: ${{ github.workspace }}/mdn/content + run: | + yarn content sync-translated-content + + - name: Commit changes + # git commit will fail if there are no changes but that's okay! + continue-on-error: true + run: | + cd $GITHUB_WORKSPACE + git remote add upstream "https://${GITHUB_ACTOR}:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" + git config --local user.email "actions@users.noreply.github.com" + git config --local user.name "MDN" + git commit -a -m "[CRON] sync translated content" + git pull --rebase upstream main + git push upstream main |