freeCodeCamp/.github/workflows/i18n-validate-prs.yml

49 lines
1.7 KiB
YAML

name: i18n - Curriculum PR Validation
on:
pull_request:
branches:
- main
jobs:
ci:
name: Validate i18n Builds
runs-on: ubuntu-latest
# run only on PRs that camperbot opens with title that matches the curriculum sync
if: ${{ github.event.pull_request.user.login == 'camperbot' && contains(github.event.pull_request.title, 'chore(i18n,learn)') }}
strategy:
matrix:
node-version: [16.x]
steps:
- name: Checkout Source Files
uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3
- name: Use Node.js v${{ matrix.node-version }}
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # tag=v3
with:
node-version: ${{ matrix.node-version }}
- name: Set freeCodeCamp Environment Variables
run: cp sample.env .env
- name: Install Dependencies
run: npm ci
- name: Validate Challenge Files
id: validate
run: npm run audit-challenges
- name: Create Comment
# Run if the validate challenge files step fails, specifically. Note that we need the failure() call for this step to trigger if the action fails.
if: ${{ failure() && steps.validate.conclusion == 'failure' }}
uses: actions/github-script@d556feaca394842dc55e4734bf3bb9f685482fa0 # tag=v6
with:
github-token: ${{secrets.CAMPERBOT_NO_TRANSLATE}}
script: |
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: "Hey @freecodecamp/i18n, it looks like we have new English curriculum files that need to be translated."
})