name: CI on: [push] jobs: test: name: CI strategy: matrix: os: [macos-latest, ubuntu-latest, windows-latest] vscode_version: ["stable", "1.69.2"] runs-on: ${{ matrix.os }} steps: - name: Checkout uses: actions/checkout@v4 - name: Make envfile run: | echo APP_INSIGHT_INSTRUMENT_KEY=example_key >> .env - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: 22.x - name: Get yarn cache directory path id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn cache dir)" - uses: actions/cache@v4 id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-yarn- - uses: actions/cache@v4 id: vscode-test-cache with: path: .vscode-test key: ${{ runner.os }}-vscode-test-${{ matrix.vscode_version }} - name: Install dependencies run: yarn install - name: Run headless test uses: GabrielBB/xvfb-action@v1.7 with: run: yarn run test env: VSCODE_VERSION: ${{ matrix.vscode_version }}