Skip to content

feat(proposal): v4 #3550

feat(proposal): v4

feat(proposal): v4 #3550

name: Main Suite
on:
# Avoid using `pull_request_target`, to prevent insecure actions
# https://securitylab.github.com/research/github-actions-preventing-pwn-requests/
pull_request:
branches:
- "**"
push:
branches:
- main
- dev
- v4
concurrency:
group: "${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}"
# Cancel in-progress runs when a new workflow with the same group name is triggered
cancel-in-progress: true
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Monorepo
uses: team-monite/setup-yarn-project-action@c098d54db6f34eb2103eb9cceda484984e8b9bbe
- name: Build
run: yarn build
lint:
needs: build
name: Linting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Monorepo
uses: team-monite/setup-yarn-project-action@c098d54db6f34eb2103eb9cceda484984e8b9bbe
- name: Lint
run: yarn lint
type-checking:
needs: build
name: Type Checking
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Monorepo
uses: team-monite/setup-yarn-project-action@c098d54db6f34eb2103eb9cceda484984e8b9bbe
- name: Type Check
run: yarn typecheck
build-storybook:
needs: type-checking
name: Build Storybook
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Monorepo
uses: team-monite/setup-yarn-project-action@c098d54db6f34eb2103eb9cceda484984e8b9bbe
- name: Build Storybook
run: yarn storybook:build
unit-testing:
needs: build
name: Unit Testing
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Monorepo
uses: team-monite/setup-yarn-project-action@c098d54db6f34eb2103eb9cceda484984e8b9bbe
- name: Unit Test
run: yarn test
e2e-testing:
needs: build
name: E2E Playwright Testing
environment: common
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- name: Setup Monorepo
uses: team-monite/setup-yarn-project-action@c098d54db6f34eb2103eb9cceda484984e8b9bbe
- name: Install Playwright Browsers
run: yarn workspace @monite/sdk-drop-in exec playwright install
- name: E2E Test
run: yarn e2e
env:
MONITE_E2E_APP_ADMIN_CONFIG_JSON: ${{ secrets.MONITE_E2E_APP_ADMIN_CONFIG_JSON }}
translations-validation:
needs: build
name: Translations Validation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Monorepo
uses: team-monite/setup-yarn-project-action@c098d54db6f34eb2103eb9cceda484984e8b9bbe
- name: Translations Validator
run: ./lingui-translations-validator.sh
files-changed:
name: Checking modified files
runs-on: ubuntu-latest
outputs:
e2e-npm-tests-dependencies: ${{ steps.changes.outputs.e2e-npm-tests-dependencies }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: changes
with:
filters: |
e2e-npm-tests-dependencies:
- 'packages/sdk-react/**'
- 'packages/rollup-config/**'
- 'e2e/**'
- 'package.json'
- 'yarn.lock'
- '.changeset/**'