49 lines
1.7 KiB
YAML
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."
|
|
})
|