Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 44 additions & 18 deletions .github/workflows/main-pipeline.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: Main Pipeline

# This is a pre-NX workflow. Packages are checked for format, linting, type safety and unit tests
# are run.
# This is a pre-NX workflow. Format, linting, type safety and unit tests are run for all
# publishable packages.
#
# NX integration and/or other optimizations will happen separately.

Expand Down Expand Up @@ -69,7 +69,7 @@ jobs:
--onlyAllow 'MIT;Apache-2.0;ISC;BSD-3-Clause;BSD-2-Clause;MIT*;Apache 2.0;Unlicense;Unlicensed;:CC0-1.0;CC-BY-4.0;WTFPL;0BSD;UNLICENSED;Python-2.0;MPL-2.0;CC-BY-3.0;CC0-1.0'

format:
name: Format check 🎨
name: Format Check 🎨
runs-on: ubuntu-latest
needs: setup
timeout-minutes: 15
Expand All @@ -78,8 +78,6 @@ jobs:

- uses: pnpm/action-setup@v4

- run: pnpm i

- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
Expand All @@ -89,6 +87,8 @@ jobs:
path: node_modules
key: ${{ runner.os }}-node-modules-pnpm-${{ hashFiles('pnpm-lock.yaml') }}

- run: pnpm i --prefer-offline --frozen-lockfile

- run: pnpm format:check

build:
Expand All @@ -105,13 +105,13 @@ jobs:
with:
node-version-file: '.nvmrc'

- run: pnpm i

- uses: actions/cache@v4
with:
path: node_modules
key: ${{ runner.os }}-node-modules-pnpm-${{ hashFiles('pnpm-lock.yaml') }}

- run: pnpm i --prefer-offline --frozen-lockfile

- run: pnpm build

type-check:
Expand All @@ -128,13 +128,13 @@ jobs:
with:
node-version-file: '.nvmrc'

- run: pnpm i

- uses: actions/cache@v4
with:
path: node_modules
key: ${{ runner.os }}-node-modules-pnpm-${{ hashFiles('pnpm-lock.yaml') }}

- run: pnpm i --prefer-offline --frozen-lockfile

- run: pnpm typecheck

lint:
Expand All @@ -151,13 +151,13 @@ jobs:
with:
node-version-file: '.nvmrc'

- run: pnpm i

- uses: actions/cache@v4
with:
path: node_modules
key: ${{ runner.os }}-node-modules-pnpm-${{ hashFiles('pnpm-lock.yaml') }}

- run: pnpm i --prefer-offline --frozen-lockfile

- run: pnpm lint:check

test:
Expand All @@ -174,17 +174,42 @@ jobs:
with:
node-version-file: '.nvmrc'

- run: pnpm i

- uses: actions/cache@v4
with:
path: node_modules
key: ${{ runner.os }}-node-modules-pnpm-${{ hashFiles('pnpm-lock.yaml') }}

- run: pnpm i --prefer-offline --frozen-lockfile

- run: pnpm test:unit

e2e:
name: E2E Test 🖥️
e2e-node:
name: E2E Node 🖥️
runs-on: ubuntu-latest
timeout-minutes: 15
needs: setup
steps:
- uses: actions/checkout@v4

- uses: pnpm/action-setup@v4

- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'

- uses: actions/cache@v4
with:
path: node_modules
key: ${{ runner.os }}-node-modules-pnpm-${{ hashFiles('pnpm-lock.yaml') }}

- run: pnpm i --prefer-offline --frozen-lockfile

- run: pnpx playwright install --with-deps

- run: pnpm --filter @implementation/node test:e2e

e2e-web:
name: E2E Web Vanilla 🖥️
runs-on: ubuntu-latest
timeout-minutes: 15
needs: setup
Expand All @@ -199,12 +224,13 @@ jobs:
with:
node-version-file: '.nvmrc'

- run: pnpm i

- uses: actions/cache@v4
with:
path: node_modules
key: ${{ runner.os }}-node-modules-pnpm-${{ hashFiles('pnpm-lock.yaml') }}

- run: pnpm i --prefer-offline --frozen-lockfile

- run: pnpx playwright install --with-deps
- run: pnpm test:e2e

- run: pnpm --filter @implementation/web-vanilla test:e2e
Loading