feat: swap provider selection [PERA-3312] #628
Workflow file for this run
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: Pre-Merge | |
| on: | |
| pull_request: | |
| jobs: | |
| setup: | |
| name: Setup | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v3 | |
| - name: Setup Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: ".tool-versions" | |
| cache: "pnpm" | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Cache node_modules | |
| uses: actions/cache/save@v4 | |
| with: | |
| path: | | |
| node_modules | |
| apps/*/node_modules | |
| packages/*/node_modules | |
| extensions/*/node_modules | |
| key: node-modules-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }} | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| needs: setup | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v3 | |
| - name: Setup Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: ".tool-versions" | |
| cache: "pnpm" | |
| - name: Restore node_modules | |
| uses: actions/cache/restore@v4 | |
| with: | |
| path: | | |
| node_modules | |
| apps/*/node_modules | |
| packages/*/node_modules | |
| extensions/*/node_modules | |
| key: node-modules-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }} | |
| - name: Install dependencies on cache miss | |
| run: test -d node_modules || pnpm install --frozen-lockfile | |
| - name: ESLint | |
| run: pnpm run lint | |
| - name: Prettier | |
| run: pnpm run format --check | |
| - name: Copyright Check | |
| run: pnpm run lint:copyright | |
| - name: i18n Check | |
| run: pnpm run lint:i18n | |
| build: | |
| name: Build | |
| runs-on: ubuntu-latest | |
| needs: setup | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v3 | |
| - name: Setup Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: ".tool-versions" | |
| cache: "pnpm" | |
| - name: Restore node_modules | |
| uses: actions/cache/restore@v4 | |
| with: | |
| path: | | |
| node_modules | |
| apps/*/node_modules | |
| packages/*/node_modules | |
| extensions/*/node_modules | |
| key: node-modules-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }} | |
| - name: Install dependencies on cache miss | |
| run: test -d node_modules || pnpm install --frozen-lockfile | |
| - name: Build packages | |
| run: pnpm run build | |
| - name: Expo Prebuild | |
| run: pnpm --filter mobile expo:prebuild | |
| - name: Cache build artifacts | |
| uses: actions/cache/save@v4 | |
| with: | |
| path: | | |
| packages/*/dist | |
| extensions/*/dist | |
| key: build-artifacts-${{ runner.os }}-${{ github.sha }} | |
| test: | |
| name: Test | |
| runs-on: ubuntu-latest | |
| needs: build | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v3 | |
| - name: Setup Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: ".tool-versions" | |
| cache: "pnpm" | |
| - name: Restore node_modules | |
| uses: actions/cache/restore@v4 | |
| with: | |
| path: | | |
| node_modules | |
| apps/*/node_modules | |
| packages/*/node_modules | |
| extensions/*/node_modules | |
| key: node-modules-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }} | |
| - name: Install dependencies on cache miss | |
| run: test -d node_modules || pnpm install --frozen-lockfile | |
| - name: Restore build artifacts | |
| uses: actions/cache/restore@v4 | |
| with: | |
| path: | | |
| packages/*/dist | |
| extensions/*/dist | |
| key: build-artifacts-${{ runner.os }}-${{ github.sha }} | |
| - name: Test | |
| run: pnpm run test |