# NOTE: Changes to this file should also be applied to './test.yml' name: Node.js Tests - Windows # **What it does**: This runs our tests on Windows. # **Why we have it**: We want to support Windows contributors to docs. # **Who does it impact**: Anyone working on docs on a Windows device. on: workflow_dispatch: pull_request: schedule: - cron: '50 19 * * *' # once a day at 19:50 UTC / 11:50 PST env: CI: true jobs: test: runs-on: windows-latest if: (github.event_name != 'pull_request') || (github.event_name == 'pull_request' && (contains(github.event.pull_request.labels.*.name, 'Windows') || contains(github.event.pull_request.labels.*.name, 'windows'))) timeout-minutes: 60 strategy: fail-fast: false matrix: test-group: [content, graphql, meta, rendering, routing, unit, linting] steps: - name: Check out repo uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f with: # Enables cloning the Early Access repo later with the relevant PAT persist-credentials: 'false' - name: Setup node uses: actions/setup-node@38d90ce44d5275ad62cc48384b3d8a58c500bb5f with: node-version: 16.x cache: npm - name: Install dependencies run: npm ci - if: ${{ github.repository == 'github/docs-internal' }} name: Clone early access run: npm run heroku-postbuild env: DOCUBOT_REPO_PAT: ${{ secrets.DOCUBOT_REPO_PAT }} GIT_BRANCH: ${{ github.head_ref || github.ref }} - if: ${{ github.repository != 'github/docs-internal' }} name: Run build script run: npm run build - name: Run tests run: npx jest tests/${{ matrix.test-group }}/ env: NODE_OPTIONS: '--max_old_space_size=8192'