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@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
|
||
|
|
||
|
- name: Use Node.js v${{ matrix.node-version }}
|
||
|
uses: actions/setup-node@969bd2663942d722d85b6a8626225850c2f7be4b # 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@7dff1a87643417cf3b95bb10b29f4c4bc60d8ebd # 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."
|
||
|
})
|