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." })