Skip to content

Update Crowdin Contributors #14

Update Crowdin Contributors

Update Crowdin Contributors #14

name: Update Crowdin Contributors
on:
schedule:
- cron: "0 0 * * SUN" # Runs every Sunday at midnight
workflow_dispatch:
jobs:
get_data_and_create_pr:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 18
- name: Install dependencies
run: yarn install
- name: Install ts-node
run: yarn global add ts-node
- name: Set up git
run: |
git config --global user.email "actions@github.com"
git config --global user.name "GitHub Action"
- name: Generate timestamp and readable date
id: date
run: |
echo "TIMESTAMP=$(date +'%Y%m%d%H%M%S')" >> $GITHUB_ENV
echo "READABLE_DATE=$(date +'%B %-d')" >> $GITHUB_ENV
- name: Fetch latest dev and create new branch
run: |
git fetch origin dev
git checkout -b "automated-update-${{ env.TIMESTAMP }}" origin/dev
- name: Run script
run: npx ts-node -O '{"module":"commonjs"}' ./src/scripts/crowdin/getCrowdinContributors.ts
env:
CROWDIN_API_KEY: ${{ secrets.CROWDIN_API_KEY }}
- name: Commit and push
run: |
git add -A
git commit -m "Update Crowdin contributors"
git push origin "automated-update-${{ env.TIMESTAMP }}"
- name: Create PR body
run: |
echo "This PR was automatically created to update Crowdin contributors." > pr_body.txt
echo "This workflows runs every Sunday at 00:00 (UTC)." >> pr_body.txt
echo "" >> pr_body.txt
echo "Thank you to everyone contributing to translate ethereum.org ❤️" >> pr_body.txt
- name: Create Pull Request
run: |
echo "${{ secrets.GITHUB_TOKEN }}" | gh auth login --with-token
gh pr create --base dev --head "automated-update-${{ env.TIMESTAMP }}" --title "Update translation contributors from Crowdin - ${{ env.READABLE_DATE }}" --body-file pr_body.txt