feat(store)!: Zustand was replaced with Redux #200
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 | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: [master] | |
| pull_request: | |
| branches: [master] | |
| jobs: | |
| lint: | |
| name: Run linter | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Prepare workflow | |
| uses: ./.github/actions/prepare-workflow | |
| - name: Run linter | |
| run: pnpm lint | |
| typecheck: | |
| name: Run typecheck | |
| runs-on: ubuntu-latest | |
| container: node:18 | |
| timeout-minutes: 5 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Prepare workflow | |
| uses: ./.github/actions/prepare-workflow | |
| - name: Run typecheck | |
| run: pnpm run typecheck | |
| test_units: | |
| name: Run unit tests | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Prepare workflow | |
| uses: ./.github/actions/prepare-workflow | |
| - name: Run server unit tests | |
| run: pnpm run test:units:server | |
| - name: Run client unit tests | |
| run: pnpm run test:units:client | |
| test_e2e: | |
| name: Run e2e tests | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| env: | |
| PLAYWRIGHT_BROWSERS_PATH: /tmp/.cache/ms-playwright | |
| STRIPE_API_SECRET_KEY: ${{ secrets.STRIPE_API_SECRET_KEY }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Creating .env files | |
| run: cp .env.e2e.build .env.build & cp .env.e2e .env | |
| shell: bash | |
| - name: Run docker-compose | |
| uses: hoverkraft-tech/compose-action@v2.0.1 | |
| with: | |
| compose-file: './docker-compose.dev.yaml' | |
| - name: Prepare worfklow | |
| uses: ./.github/actions/prepare-workflow | |
| - name: Running database migrations | |
| id: db_migrate_up | |
| run: pnpm migrate:up | |
| shell: bash | |
| - name: Restore Chromium browser cache | |
| uses: actions/cache@v3 | |
| id: e2e-tests-chromium-cache | |
| with: | |
| path: ${{ env.PLAYWRIGHT_BROWSERS_PATH }}/** | |
| key: ${{ runner.os }}-e2e-chromium | |
| - name: Installing Chromium with all deps | |
| run: pnpm exec playwright install --with-deps chromium | |
| shell: bash | |
| - name: Building app | |
| run: pnpm build | |
| shell: bash | |
| - name: Running E2E tets | |
| run: pnpm test:e2e | |
| shell: bash | |
| - name: Resetting database | |
| if: always() && ( success() || ( failure() && steps.db_migrate_up.conclusion == 'success' ) ) | |
| run: pnpm migrate:down | |
| continue-on-error: true |