name: Tests on: [ workflow_call ] concurrency: group: tests-${{ github.ref }} cancel-in-progress: true defaults: run: shell: 'bash' jobs: tests: strategy: fail-fast: false matrix: os: [ windows-latest, ubuntu-latest, macos-latest ] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: 16 cache: 'npm' - run: npm ci env: PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1 - run: npm run test:main --if-present - run: npm run test:preload --if-present - run: npm run test:renderer --if-present # I ran into problems trying to run an electron window in ubuntu due to a missing graphics server. # That's why this special command for Ubuntu is here - run: xvfb-run --auto-servernum --server-args="-screen 0 1280x960x24" -- npm run test:e2e --if-present if: matrix.os == 'ubuntu-latest' - run: npm run test:e2e --if-present if: matrix.os != 'ubuntu-latest'