HTTP server #481
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test | |
on: | |
push: | |
branches: | |
- "main" | |
pull_request: | |
jobs: | |
main: | |
timeout-minutes: 10 | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macOS-latest, windows-latest] | |
node-version: [20, 22] | |
env: | |
ELM_HOME: "${{ github.workspace }}/elm-stuff/elm-home" | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: "${{ matrix.node-version }}" | |
- name: Number of CPUs | |
shell: bash | |
run: | | |
node -p 'require("os").cpus().length' | |
- name: Cache node_modules | |
id: cache-node_modules | |
uses: actions/cache@v4 | |
with: | |
path: node_modules | |
key: internal-node_modules-${{ matrix.os }}-${{ matrix.node-version }}-${{ hashFiles('package.json', 'package-lock.json') }} | |
- name: Cache ELM_HOME | |
uses: actions/cache@v4 | |
with: | |
path: "${{ env.ELM_HOME }}" | |
key: elm-${{ matrix.os }}-${{ hashFiles('elm-tooling.json') }} | |
- if: steps.cache-node_modules.outputs.cache-hit != 'true' | |
run: npm ci --no-audit | |
env: | |
NO_ELM_TOOLING_INSTALL: 1 | |
- run: npx elm-tooling install | |
# The idea is that this will install all packages mentioned in test | |
# fixtures, so that nothing needs to be downloaded while the tests | |
# run, which could result in flaky tests. | |
- run: npm run install-test-elm-dependencies | |
working-directory: tests/install-packages | |
# Retry failing tests, as a stopgap while fixing flaky tests. | |
# However, retry is useless until this bug is fixed: https://github.com/vitest-dev/vitest/issues/6589 | |
- run: npx vitest --coverage # --retry=4 |