name: toolkit-unit-tests on: push: branches: - main paths-ignore: - '**.md' pull_request: paths-ignore: - '**.md' jobs: build: name: Build strategy: matrix: runs-on: [ubuntu-latest, macos-latest-large, windows-latest] # Node 20 is the currently supported stable Node version for actions - https://docs.github.com/actions/sharing-automations/creating-actions/metadata-syntax-for-github-actions#runsusing-for-javascript-actions # Node 24 is the new version being added with support in actions runners node-version: [20.x, 24.x] fail-fast: false runs-on: ${{ matrix.runs-on }} steps: - name: Checkout uses: actions/checkout@v5 - name: Set up Node ${{ matrix.node-version }} uses: actions/setup-node@v5 with: node-version: ${{ matrix.node-version }} - name: npm install run: npm install - name: Bootstrap run: npm run bootstrap - name: Compile run: npm run build - name: npm test run: npm test -- --runInBand --forceExit env: GITHUB_TOKEN: ${{ github.token }} - name: Lint run: npm run lint - name: Format run: npm run format-check