ci: run all workflow jobs on self-hosted runners #108
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: build | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| workflow_dispatch: | |
| concurrency: | |
| group: build-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| name: ${{ matrix.os }} | |
| runs-on: self-hosted | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup pnpm | |
| # Version is read from package.json `packageManager` field; | |
| # do not pass `version:` here or setup fails with BAD_PM_VERSION. | |
| uses: pnpm/action-setup@v4 | |
| - name: Setup Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: pnpm | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| # Must run before typecheck/test — downstream packages consume the | |
| # compiled dist of shared-types + http-core via workspace symlinks. | |
| - name: Build workspace packages | |
| run: pnpm run build:packages | |
| - name: Typecheck | |
| run: pnpm -r typecheck | |
| - name: Test | |
| run: pnpm -r test | |
| - name: Build desktop app | |
| run: pnpm --filter=@scrapeman/desktop build |