Skip to content

Update react

Update react #3355

Workflow file for this run

name: Pre-merge Review
on: [pull_request]
jobs:
cache:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Cache dependencies
id: cache-node-modules
uses: actions/cache@v3
with:
path: |
node_modules
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-modules-
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20.10.0
- name: Install Dependencies
if: steps.cache-node-modules.outputs.cache-hit != 'true'
run: yarn install --frozen-lockfile
prettify:
runs-on: ubuntu-latest
needs: [cache]
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Cache dependencies
id: cache-node-modules
uses: actions/cache@v3
with:
path: |
node_modules
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-modules-
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20.10.0
- name: Install Dependencies
if: steps.cache-node-modules.outputs.cache-hit != 'true'
run: yarn install --frozen-lockfile
- name: Run styling 💅
run: yarn style
lint:
runs-on: ubuntu-latest
needs: [cache]
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Cache dependencies
id: cache-node-modules
uses: actions/cache@v3
with:
path: |
node_modules
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-modules-
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20.10.0
- name: Install Dependencies
if: steps.cache-node-modules.outputs.cache-hit != 'true'
run: yarn install --frozen-lockfile
- name: Run linting ✨
run: yarn lint
test:
runs-on: ubuntu-latest
needs: [cache]
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Cache dependencies
id: cache-node-modules
uses: actions/cache@v3
with:
path: |
node_modules
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-modules-
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20.10.0
- name: Install Dependencies
if: steps.cache-node-modules.outputs.cache-hit != 'true'
run: yarn install --frozen-lockfile
- name: Run unit tests 🛫🛬
run: yarn test:ci:silent
build-e2e:
runs-on: ubuntu-latest
needs: [lint, prettify, test]
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Cache dependencies
id: cache-node-modules
uses: actions/cache@v3
with:
path: |
node_modules
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-modules-
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20.10.0
- name: Install Dependencies
if: steps.cache-node-modules.outputs.cache-hit != 'true'
run: yarn install --frozen-lockfile
- name: Build Docker image
run: docker build . --tag=nexus-web:fresh
- name: Start services
run: docker-compose -f ci/docker-compose.yml up -d && sleep 60
- name: Copy nexus-web into Cypress container
run: docker cp ./. cypress:/e2e
- name: Run e2e tests
run: >-
echo | timeout --verbose 20m docker exec
-e 'DEBUG=cypress:launcher:browsers'
-t
cypress
cypress run
--headless
--config-file cypress.config.ts
--browser chrome
--record
--key ${{ secrets.CYPRESS_RECORD_KEY }}
- name: Cleanup Docker Containers
if: ${{ always() }}
run: docker-compose -f ci/docker-compose.yml down --rmi "local" --volumes