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 18 is the current default Node version in hosted runners, so users may still use the toolkit with it when running tests (see https://github.com/actions/toolkit/issues/1841) # Node 20 is the currently support Node version for actions - https://docs.github.com/actions/sharing-automations/creating-actions/metadata-syntax-for-github-actions#runsusing-for-javascript-actions node-version: [18.x, 20.x] fail-fast: false runs-on: ${{ matrix.runs-on }} steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Node ${{ matrix.node-version }} uses: actions/setup-node@v4 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