twenty/.github/workflows/ci-front.yaml

157 lines
5.5 KiB
YAML
Raw Normal View History

name: CI Front
2023-04-13 18:37:37 +03:00
on:
push:
branches:
- main
pull_request:
2023-04-13 18:37:37 +03:00
jobs:
front-yarn-install:
runs-on: ci-8-cores
env:
REACT_APP_SERVER_BASE_URL: http://localhost:3000
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: "18"
- name: Cache front node modules
uses: actions/cache@v3
with:
path: front/node_modules
key: front-node_modules-${{hashFiles('front/yarn.lock')}}
restore-keys: front-node_modules-
- name: Cache eslint-plugin-twenty node modules
uses: actions/cache@v3
with:
path: packages/eslint-plugin-twenty/node_modules
key: eslint-plugin-twenty-node_modules-${{hashFiles('packages/eslint-plugin-twenty/yarn.lock')}}
restore-keys: eslint-plugin-twenty-node_modules-
- name: Front / Install Dependencies
run: cd front && yarn
front-pages-sb-test:
needs: front-yarn-install
2023-08-17 22:23:39 +03:00
runs-on: ci-8-cores
env:
REACT_APP_SERVER_BASE_URL: http://localhost:3000
2023-04-13 18:37:37 +03:00
steps:
2023-09-15 21:25:42 +03:00
- uses: actions/checkout@v4
2023-04-13 18:37:37 +03:00
- name: Setup Node.js
uses: actions/setup-node@v3
2023-04-13 18:37:37 +03:00
with:
node-version: "18"
- name: Front / Write .env
run: |
cd front
2023-07-23 05:47:36 +03:00
cp .env.example .env
- name: Cache front node modules
uses: actions/cache@v3
with:
path: front/node_modules
key: front-node_modules-${{hashFiles('front/yarn.lock')}}
restore-keys: front-node_modules-
- name: Cache eslint-plugin-twenty node modules
uses: actions/cache@v3
with:
path: packages/eslint-plugin-twenty/node_modules
key: eslint-plugin-twenty-node_modules-${{hashFiles('packages/eslint-plugin-twenty/yarn.lock')}}
restore-keys: eslint-plugin-twenty-node_modules-
- name: Install dependencies
run: yarn
- name: Install Playwright
run: cd front && npx playwright install
- name: Build Storybook
run: cd front && yarn storybook:pages:build --quiet
- name: Run storybook tests
run: |
cd front && npx concurrently -k -s first -n "SB,TEST" -c "magenta,blue" \
"npx http-server storybook-static --silent --port 6006" \
"yarn storybook:pages:coverage"
front-modules-sb-test:
needs: front-yarn-install
runs-on: ubuntu-latest
env:
REACT_APP_SERVER_BASE_URL: http://localhost:3000
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: "18"
- name: Front / Write .env
run: |
cd front
cp .env.example .env
- name: Cache front node modules
uses: actions/cache@v3
with:
path: front/node_modules
key: front-node_modules-${{hashFiles('front/yarn.lock')}}
restore-keys: front-node_modules-
- name: Cache eslint-plugin-twenty node modules
uses: actions/cache@v3
with:
path: packages/eslint-plugin-twenty/node_modules
key: eslint-plugin-twenty-node_modules-${{hashFiles('packages/eslint-plugin-twenty/yarn.lock')}}
restore-keys: eslint-plugin-twenty-node_modules-
- name: Install Playwright
run: cd front && npx playwright install
- name: Build Storybook
run: cd front && yarn storybook:modules:build --quiet
- name: Run storybook tests
2023-05-29 23:08:01 +03:00
run: |
cd front && npx concurrently -k -s first -n "SB,TEST" -c "magenta,blue" \
"npx http-server storybook-static --silent --port 6006" \
"yarn storybook:modules:coverage"
front-lint:
needs: front-yarn-install
runs-on: ubuntu-latest
env:
REACT_APP_SERVER_BASE_URL: http://localhost:3000
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: "18"
- name: Cache front node modules
uses: actions/cache@v3
with:
path: front/node_modules
key: front-node_modules-${{hashFiles('front/yarn.lock')}}
restore-keys: front-node_modules-
- name: Cache eslint-plugin-twenty node modules
uses: actions/cache@v3
with:
path: packages/eslint-plugin-twenty/node_modules
key: eslint-plugin-twenty-node_modules-${{hashFiles('packages/eslint-plugin-twenty/yarn.lock')}}
restore-keys: eslint-plugin-twenty-node_modules-
- name: Front / Install Dependencies
2023-09-20 02:57:22 +03:00
run: cd front && yarn
- name: Front / Run linter
run: cd front && yarn lint
front-jest:
needs: front-yarn-install
runs-on: ubuntu-latest
env:
REACT_APP_SERVER_BASE_URL: http://localhost:3000
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: "18"
- name: Cache front node modules
uses: actions/cache@v3
with:
path: front/node_modules
key: front-node_modules-${{hashFiles('front/yarn.lock')}}
restore-keys: front-node_modules-
- name: Cache eslint-plugin-twenty node modules
uses: actions/cache@v3
with:
path: packages/eslint-plugin-twenty/node_modules
key: eslint-plugin-twenty-node_modules-${{hashFiles('packages/eslint-plugin-twenty/yarn.lock')}}
restore-keys: eslint-plugin-twenty-node_modules-
- name: Front / Run jest
run: cd front && yarn test