name: CI on: push: branches: [main] pull_request: branches: [main, feat/maic-editor-v0, feat/maic-editor-v1] concurrency: group: ci-${{ github.ref }} cancel-in-progress: true jobs: check: name: Lint, Typecheck & Unit Tests runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: pnpm/action-setup@v4 - uses: actions/setup-node@v4 with: node-version: 22 cache: pnpm - run: pnpm install --frozen-lockfile - name: Prettier run: pnpm check - name: ESLint run: pnpm lint - name: TypeScript run: npx tsc --noEmit - name: i18n Key Alignment run: pnpm check:i18n-keys - name: Unit Tests run: pnpm test - name: Unit Tests (importer) run: pnpm --filter @openmaic/importer test - name: Unit Tests (dsl) run: pnpm --filter @openmaic/dsl test - name: Unit Tests (storage) run: pnpm --filter @openmaic/storage test e2e: name: E2E Tests runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: pnpm/action-setup@v4 - uses: actions/setup-node@v4 with: node-version: 22 cache: pnpm - run: pnpm install --frozen-lockfile - name: Install Playwright browsers run: pnpm exec playwright install chromium --with-deps - name: Run e2e tests run: pnpm exec playwright test - uses: actions/upload-artifact@v4 if: failure() with: name: playwright-report path: playwright-report/ retention-days: 7