Make automatic workflows not dependent on yarn

This commit is contained in:
Andrey Antukh
2025-11-28 12:17:36 +01:00
parent 2c3becb408
commit e7029f2182
9 changed files with 91 additions and 58 deletions

View File

@@ -20,7 +20,7 @@ concurrency:
jobs: jobs:
lint: lint:
name: "Code Linter" name: "Linter"
runs-on: ubuntu-24.04 runs-on: ubuntu-24.04
container: penpotapp/devenv:latest container: penpotapp/devenv:latest
@@ -30,10 +30,7 @@ jobs:
- name: Check clojure code format - name: Check clojure code format
run: | run: |
corepack enable; ./scripts/lint
corepack install;
yarn install
yarn run fmt:clj:check
test-common: test-common:
name: "Common Tests" name: "Common Tests"
@@ -52,10 +49,7 @@ jobs:
- name: Run tests on NODE - name: Run tests on NODE
working-directory: ./common working-directory: ./common
run: | run: |
corepack enable; ./scripts/test
corepack install;
yarn install;
yarn run test;
test-frontend: test-frontend:
name: "Frontend Tests" name: "Frontend Tests"
@@ -69,25 +63,12 @@ jobs:
- name: Unit Tests - name: Unit Tests
working-directory: ./frontend working-directory: ./frontend
run: | run: |
corepack enable; ./scripts/test
corepack install;
yarn install;
yarn run test;
- name: Component Tests - name: Component Tests
working-directory: ./frontend working-directory: ./frontend
run: | run: |
yarn run playwright install chromium --with-deps; ./scripts/test-components
yarn run build:storybook
npx concurrently -k -s first -n "SB,TEST" -c "magenta,blue" \
"npx http-server storybook-static --port 6006 --silent" \
"npx wait-on tcp:6006 && yarn test:storybook"
- name: Check SCSS Format
working-directory: ./frontend
run: |
yarn run lint:scss;
test-render-wasm: test-render-wasm:
name: "Render WASM Tests" name: "Render WASM Tests"
@@ -164,11 +145,7 @@ jobs:
- name: Run tests - name: Run tests
working-directory: ./library working-directory: ./library
run: | run: |
corepack enable; ./scripts/test
corepack install;
yarn install;
yarn run build:bundle;
yarn run test;
build-integration: build-integration:
name: "Build Integration Bundle" name: "Build Integration Bundle"
@@ -219,11 +196,7 @@ jobs:
- name: Run Tests - name: Run Tests
working-directory: ./frontend working-directory: ./frontend
run: | run: |
corepack enable; ./scripts/test-e2e --shard="1/4";
corepack install;
yarn install;
yarn run playwright install chromium --with-deps;
yarn run test:e2e -x --workers=2 --reporter=list --shard="1/4";
- name: Upload test result - name: Upload test result
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
@@ -253,11 +226,7 @@ jobs:
- name: Run Tests - name: Run Tests
working-directory: ./frontend working-directory: ./frontend
run: | run: |
corepack enable; ./scripts/test-e2e --shard="2/4";
corepack install;
yarn install;
yarn run playwright install chromium --with-deps;
yarn run test:e2e -x --workers=2 --reporter=list --shard "2/4";
- name: Upload test result - name: Upload test result
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
@@ -287,11 +256,7 @@ jobs:
- name: Run Tests - name: Run Tests
working-directory: ./frontend working-directory: ./frontend
run: | run: |
corepack enable; ./scripts/test-e2e --shard="3/4";
corepack install;
yarn install;
yarn run playwright install chromium --with-deps;
yarn run test:e2e -x --workers=2 --reporter=list --shard "3/4";
- name: Upload test result - name: Upload test result
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
@@ -303,7 +268,7 @@ jobs:
retention-days: 3 retention-days: 3
test-integration-4: test-integration-4:
name: "Integration Tests 3/4" name: "Integration Tests 4/4"
runs-on: ubuntu-24.04 runs-on: ubuntu-24.04
container: penpotapp/devenv:latest container: penpotapp/devenv:latest
needs: build-integration needs: build-integration
@@ -321,11 +286,7 @@ jobs:
- name: Run Tests - name: Run Tests
working-directory: ./frontend working-directory: ./frontend
run: | run: |
corepack enable; ./scripts/test-e2e --shard="4/4";
corepack install;
yarn install;
yarn run playwright install chromium --with-deps;
yarn run test:e2e -x --workers=2 --reporter=list --shard "4/4";
- name: Upload test result - name: Upload test result
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4

7
common/scripts/test Executable file
View File

@@ -0,0 +1,7 @@
#!/usr/bin/env bash
set -ex
corepack enable;
corepack install;
yarn install;
yarn run test;

9
frontend/scripts/test Executable file
View File

@@ -0,0 +1,9 @@
#!/usr/bin/env bash
set -ex
corepack enable;
corepack install;
yarn install;
yarn run lint:scss;
yarn run test;

View File

@@ -0,0 +1,13 @@
#!/usr/bin/env bash
set -ex
corepack enable;
corepack install;
yarn install;
yarn run playwright install chromium --with-deps;
yarn run build:storybook
exec npx concurrently -k -s first -n "SB,TEST" -c "magenta,blue" \
"npx http-server storybook-static --port 6006 --silent" \
"npx wait-on tcp:6006 && yarn test:storybook"

8
frontend/scripts/test-e2e Executable file
View File

@@ -0,0 +1,8 @@
#!/usr/bin/env bash
set -ex
corepack enable;
corepack install;
yarn install;
yarn run playwright install chromium --with-deps;
yarn run test:e2e -x --workers=2 --reporter=list "$@";

9
library/scripts/test Executable file
View File

@@ -0,0 +1,9 @@
#!/usr/bin/env bash
set -ex
corepack enable;
corepack install;
yarn install;
yarn run build:bundle;
yarn run test;

View File

@@ -11,14 +11,8 @@
}, },
"type": "module", "type": "module",
"scripts": { "scripts": {
"fmt:clj:check": "cljfmt check --parallel=true common/src/ common/test/ frontend/src/ frontend/test/ backend/src/ backend/test/ exporter/src/ library/src", "lint": "./scripts/lint",
"fmt:clj": "cljfmt fix --parallel=true common/src/ common/test/ frontend/src/ frontend/test/ backend/src/ backend/test/ exporter/src/ library/src", "fmt": "./scripts/fmt"
"lint:clj:common": "clj-kondo --parallel=true --lint common/src",
"lint:clj:frontend": "clj-kondo --parallel=true --lint frontend/src",
"lint:clj:backend": "clj-kondo --parallel=true --lint backend/src",
"lint:clj:exporter": "clj-kondo --parallel=true --lint exporter/src",
"lint:clj:library": "clj-kondo --parallel=true --lint library/src",
"lint:clj": "yarn run lint:clj:common && yarn run lint:clj:frontend && yarn run lint:clj:backend && yarn run lint:clj:exporter && yarn run lint:clj:library"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^20.12.7" "@types/node": "^20.12.7"

13
scripts/fmt Executable file
View File

@@ -0,0 +1,13 @@
#!/usr/bin/env bash
set -ex
cljfmt --parallel=true \
common/src/ \
common/test/ \
frontend/src/ \
frontend/test/ \
backend/src/ \
backend/test/ \
exporter/src/ \
library/src;

19
scripts/lint Executable file
View File

@@ -0,0 +1,19 @@
#!/usr/bin/env bash
set -ex
cljfmt check --parallel=true \
common/src/ \
common/test/ \
frontend/src/ \
frontend/test/ \
backend/src/ \
backend/test/ \
exporter/src/ \
library/src;
clj-kondo --parallel=true --lint common/src;
clj-kondo --parallel=true --lint frontend/src;
clj-kondo --parallel=true --lint backend/src;
clj-kondo --parallel=true --lint exporter/src/;
clj-kondo --parallel=true --lint library/src;