Bump vite from 7.3.6 to 8.1.4 #275
This file contains hidden or 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: CI | |
| on: | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| # Cancel superseded runs for the same pull request. github.ref is per-PR here, so | |
| # this only cancels older runs of the same PR, never other PRs or main. | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| # CI only reads the repo and uploads artifacts (which use the Actions API, not the | |
| # git token), so pin the token to read-only regardless of the repository default. | |
| permissions: | |
| contents: read | |
| jobs: | |
| test: | |
| name: Testing on ${{ matrix.platform }} | |
| timeout-minutes: 20 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| # Mirrors the platforms and Node.js version @elek-io/core tests on | |
| platform: [ubuntu-24.04, macos-15-intel, macos-15, windows-2025] | |
| runs-on: ${{ matrix.platform }} | |
| steps: | |
| - name: Check out code | |
| uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 1 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v6 | |
| - name: Setup Node.js environment | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: '.node-version' | |
| cache: 'pnpm' | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Run checks | |
| run: pnpm run check | |
| # electron-builder's pacman target builds through fpm, which shells out to | |
| # bsdtar to write the package .MTREE. The Ubuntu runner does not ship it, | |
| # so install it here. bsdtar comes from libarchive-tools. | |
| - name: Install Linux packaging tools | |
| if: runner.os == 'Linux' | |
| run: sudo apt-get update && sudo apt-get install -y libarchive-tools | |
| # Full package build (not build:unpack), so PR CI also verifies that | |
| # electron-builder can still produce the installers. The E2E tests | |
| # only use the unpacked directory this step produces alongside them | |
| - name: Build | |
| run: pnpm run build | |
| # Invoke the runner directly, since "pnpm run test" would rebuild | |
| # the app that the build step above already built | |
| - name: Run E2E tests (Linux) | |
| if: runner.os == 'Linux' | |
| run: xvfb-run --auto-servernum --server-args="-screen 0 1280x960x24" pnpm exec playwright test | |
| - name: Run E2E tests (macOS/Windows) | |
| if: runner.os != 'Linux' | |
| run: pnpm exec playwright test | |
| - name: Upload Playwright report | |
| uses: actions/upload-artifact@v7 | |
| if: ${{ !cancelled() }} | |
| with: | |
| name: playwright-report-${{ matrix.platform }} | |
| path: playwright-report/ | |
| retention-days: 30 | |
| # The HTML report above embeds the trace, but not each failed test's | |
| # Core data directory (the git repos and files Core wrote). preserveOutput | |
| # in the Playwright config keeps only failed tests' output, so this ships | |
| # just those data dirs | |
| - name: Upload test results | |
| uses: actions/upload-artifact@v7 | |
| if: failure() | |
| with: | |
| name: test-results-${{ matrix.platform }} | |
| path: test-results/ | |
| retention-days: 7 | |
| # Upload the built installers so a PR's packaged output can be inspected. | |
| # if-no-files-found: error also doubles as a check that packaging produced them. | |
| - name: Upload installers | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: installers-${{ matrix.platform }} | |
| path: | | |
| dist/*.exe | |
| dist/*.dmg | |
| dist/*.zip | |
| dist/*.AppImage | |
| dist/*.deb | |
| dist/*.rpm | |
| dist/*.pacman | |
| if-no-files-found: error | |
| retention-days: 7 |