Skip to content

Commit

Permalink
add Actions workflow for syncing with Crowdin (github#15999)
Browse files Browse the repository at this point in the history
* add Actions workflow for syncing with Crowdin

Co-Authored-By: Chiedo John <[email protected]>

* use the default GitHub token in the Crowdin workflow

Co-Authored-By: Chiedo John <[email protected]>

* bump to latest version of crowdin/github-action

Co-Authored-By: Chiedo John <[email protected]>

* allow crowdin/[email protected] action

Co-Authored-By: Chiedo John <[email protected]>

Co-authored-by: Chiedo John <[email protected]>
  • Loading branch information
zeke and chiedo authored Oct 12, 2020
1 parent 326725d commit aa0eea4
Show file tree
Hide file tree
Showing 3 changed files with 76 additions and 0 deletions.
1 change: 1 addition & 0 deletions .github/allowed-actions.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ module.exports = [
'actions/setup-node@v1',
'actions/setup-ruby@v1',
'actions/stale@v3',
'crowdin/[email protected]',
'dawidd6/action-delete-branch@v3',
'docker://chinthakagodawita/autoupdate-action:v1',
'github/codeql-action/analyze@v1',
Expand Down
50 changes: 50 additions & 0 deletions .github/workflows/crowdin.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Please ping @github/docs-localization in the PR whenever you update this file!

name: Crowdin Sync

on:
push:
branches:
- main

jobs:
sync_with_crowdin:
name: Sync with Crowdin
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2

- name: Sync
uses: crowdin/[email protected]
with:
upload_translations: true
download_translations: true
create_pull_request: true

# Using a custom config temporarily to avoid clobbering the existing crowdin.yml
# that is used by the github-help-docs OAuth integration.
config: 'crowdin-actions-config.yml'

# This is the name of the git branch that Crowdin will create when opening a pull request.
# This branch does NOT need to be manually created. It will be created automatically by the action.
localization_branch_name: automated-crowdin-translations

# This is the name of the top-level directory that Crowdin will use for files.
# Note that this is not a "branch" in the git sense, but more like a top-level directory in your Crowdin project.
# This branch does NOT need to be manually created. It will be created automatically by the action.
crowdin_branch_name: crowdin-main

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

# This is a numeric id, not to be confused with Crowdin API v1 "project identifier" string
# See "API v2" on https://crowdin.com/project/<your-project>/settings#api
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}

# A personal access token, not to be confused with Crowdin API v1 "API key"
# See https://crowdin.com/settings#api-key to generate a token
# This token was created by logging into Crowdin with the octoglot user
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}


25 changes: 25 additions & 0 deletions crowdin-actions-config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
files:
- source: /content/**/*.md
translation: /translations/%locale%/%original_path%/%original_file_name%
ignore: [
"/content/README.md"
]
- source: /data/**/*.yml
translation: /translations/%locale%/%original_path%/%original_file_name%
- source: /data/**/*.md
translation: /translations/%locale%/%original_path%/%original_file_name%
ignore: [
"data/README.md",
"data/reusables/README.md",
"data/variables/product.yml",
"data/variables/README.md",
"data/graphql",
"data/products.yml"
]

# These end up as env vars used by the GitHub Actions workflow
project_id_env: CROWDIN_PROJECT_ID
api_token_env: CROWDIN_PERSONAL_TOKEN

# https://support.crowdin.com/configuration-file-v3/#saving-directory-structure-on-server
preserve_hierarchy: true

0 comments on commit aa0eea4

Please sign in to comment.