# NOTE: Changes to this file should also be applied to './test.yml' and './test-translations.yml' name: Node.js Tests - Windows on: workflow_dispatch: pull_request: schedule: - cron: '50 19 * * *' # once a day at 19:50 UTC / 11:50 PST 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'))) strategy: fail-fast: false matrix: test-group: [content, meta, rendering, routing, unit] steps: - name: Check out repo uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f - name: Setup node uses: actions/setup-node@c46424eee26de4078d34105d3de3cc4992202b1e with: node-version: 14.x - name: Get npm cache directory id: npm-cache run: | echo "::set-output name=dir::$(npm config get cache)" - name: Cache node modules uses: actions/cache@0781355a23dac32fd3bac414512f4b903437991a with: path: ${{ steps.npm-cache.outputs.dir }} key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-node- - name: Install dependencies run: npm ci - 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=4096'