12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- name: Build locales coverage
- on:
- push:
- branches:
- - "l10n_master"
- jobs:
- locales:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- with:
- token: ${{ secrets.PUSH_TRANSLATIONS_COVERAGE_PAT }}
- - name: Setup Node.js 12.x
- uses: actions/setup-node@v1
- with:
- node-version: 12.x
- - name: Create report file
- run: |
- npm run locales-coverage
- FILE_CHANGED=$(git diff src/locales/percentages.json)
- if [ ! -z "${FILE_CHANGED}" ]; then
- git config --global user.name 'Kostas Bariotis'
- git config --global user.email 'konmpar@gmail.com'
- git add src/locales/percentages.json
- git commit -am "Auto commit: Calculate translation coverage"
- git push
- fi
- - name: Find pull request number
- uses: jwalton/gh-find-current-pr@v1
- id: findPullRequestNumber
- with:
- github-token: ${{ secrets.PUSH_TRANSLATIONS_COVERAGE_PAT }}
- - name: Find Comment
- uses: peter-evans/find-comment@v1
- id: findComment
- with:
- token: ${{ secrets.PUSH_TRANSLATIONS_COVERAGE_PAT }}
- issue-number: ${{ steps.findPullRequestNumber.outputs.pr }}
- comment-author: "kbariotis"
- body-includes: "Languages check"
- - name: Construct comment body
- id: getCommentBody
- run: |
- locales_above_threshold=$(cat src/locales/percentages.json | jq -r 'to_entries[] | select(.value > 85) | "|\(.key)|\(.value)|"')
- locales_below_threshold=$(cat src/locales/percentages.json | jq -r 'to_entries[] | select(.value <= 85) | "|\(.key)|\(.value)|"')
- header=$(echo "
- ## Languages check
- Our translations for every languages should be at least **85%** to appear on Excalidraw. Help us translate them in [Crowdin](https://crowdin.com/project/excalidraw).
- ")
- comment_body=$(echo "$header
- ### Languages over the threshold
- |Locale|%|
- |----|----|
- $locales_above_threshold
- ### Languages below the threshold
- |Locale|%|
- |----|----|
- $locales_below_threshold
- ")
- comment_body="${comment_body//'%'/'%25'}"
- comment_body="${comment_body//$'\n'/'%0A'}"
- comment_body="${comment_body//$'\r'/'%0D'}"
- echo ::set-output name=body::$comment_body
- - name: Create comment
- if: ${{ steps.findComment.outputs.comment-id == 0 }}
- uses: peter-evans/create-or-update-comment@v1
- with:
- token: ${{ secrets.PUSH_TRANSLATIONS_COVERAGE_PAT }}
- issue-number: ${{ steps.findPullRequestNumber.outputs.pr }}
- body: ${{ steps.getCommentBody.outputs.body }}
- - name: Update comment
- if: ${{ steps.findComment.outputs.comment-id != 0 }}
- uses: peter-evans/create-or-update-comment@v1
- with:
- edit-mode: "replace"
- token: ${{ secrets.PUSH_TRANSLATIONS_COVERAGE_PAT }}
- comment-id: ${{ steps.findComment.outputs.comment-id }}
- body: ${{ steps.getCommentBody.outputs.body }}
|