Skip to content
Draft
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
96 changes: 55 additions & 41 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,76 +3,86 @@ name: CI
on:
push:
branches: [main]
tags: ['v*']
tags: ["v*"]
pull_request:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

permissions:
contents: read

env:
JEST_JUNIT_OUTPUT_DIR: ./coverage/junit/

jobs:
build:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Enable Corepack
run: corepack enable
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 24.14.0
cache: 'yarn'
cache: "yarn"
- name: Install dependencies
run: yarn install --immutable
- name: Build
run: yarn run build
- name: Upload workspace
- name: Lint
run: yarn run lint
- name: Locale verify
run: yarn run locale:verify
- name: Run unit tests and publish to codeclimate
run: yarn test:unit --coverage
- name: Store junit results
uses: actions/upload-artifact@v7
with:
name: workspace
path: .
retention-days: 1
name: junit
path: coverage/junit

validate:
build:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v6
- name: Enable Corepack
run: corepack enable
- name: Download workspace
uses: actions/download-artifact@v8
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
name: workspace
path: .
node-version: 24.14.0
cache: "yarn"
- name: Install dependencies
run: yarn install --immutable
- name: Locale verify
run: yarn run locale:verify
- name: Lint
run: yarn run lint
- name: Run unit tests and publish to codeclimate
env:
JEST_JUNIT_OUTPUT_DIR: ./coverage/junit/
run: yarn test:unit --coverage
- name: Store junit results
- name: Build
run: yarn run build
- name: Store build outputs
uses: actions/upload-artifact@v7
with:
name: junit
path: coverage/junit
name: build-outputs
path: |
apis/**/dist
commands/**/dist
packages/**/dist
retention-days: 1

test-integration:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v6
- name: Enable Corepack
run: corepack enable
- name: Download workspace
uses: actions/download-artifact@v8
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
name: workspace
path: .
node-version: 24.14.0
cache: "yarn"
- name: Install dependencies
run: yarn install --immutable
- name: Download build outputs
uses: actions/download-artifact@v8
with:
name: build-outputs
path: .
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: Test component
Expand Down Expand Up @@ -100,16 +110,20 @@ jobs:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v6
- name: Enable Corepack
run: corepack enable
- name: Download workspace
uses: actions/download-artifact@v8
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
name: workspace
path: .
node-version: 24.14.0
cache: "yarn"
- name: Install dependencies
run: yarn install --immutable
- name: Download build outputs
uses: actions/download-artifact@v8
with:
name: build-outputs
path: .
- name: Install Playwright Chromium
run: npx playwright install chromium --with-deps
- run: chmod +x .github/scripts/nebula_create.sh
Expand Down Expand Up @@ -138,17 +152,17 @@ jobs:
run:
working-directory: .
steps:
- name: Enable Corepack
run: corepack enable
- name: Checkout repository
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Enable Corepack
run: corepack enable
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: 24.14.0
cache: 'yarn'
cache: "yarn"

- name: Install dependencies
run: yarn install --immutable
Expand Down
2 changes: 2 additions & 0 deletions apis/stardust/index.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
/* eslint-disable import/extensions */
/* eslint-disable import/no-unresolved */
if (process.env.NODE_ENV === 'production') {
module.exports = require('./dist/stardust');
} else {
Expand Down
1 change: 1 addition & 0 deletions apis/test-utils/index.js
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
// eslint-disable-next-line import/no-unresolved, import/extensions
module.exports = require('./dist/test-utils');
1 change: 1 addition & 0 deletions commands/serve/web/eRender.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/* eslint no-underscore-dangle:0 */
import { embed } from '@nebula.js/stardust';
// eslint-disable-next-line import/no-unresolved
import snapshooter from '@nebula.js/snapshooter/client';

import { openApp, getParams, getConnectionInfo } from './connect';
Expand Down
1 change: 1 addition & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/* eslint no-underscore-dangle:0 */
import { defineConfig, globalIgnores } from 'eslint/config';
import prettier from 'eslint-plugin-prettier';
import jest from 'eslint-plugin-jest';
Expand Down
8 changes: 5 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
"description": "",
"type": "module",
"scripts": {
"build": "yarn run locale:generate && cross-env NODE_ENV=production FORCE_COLOR=1 lerna run build --stream",
"build:dev": "yarn run locale:generate && cross-env NODE_ENV=development FORCE_COLOR=1 lerna run build --stream",
"build": "cross-env NODE_ENV=production FORCE_COLOR=1 lerna run build --stream",
"build:dev": "cross-env NODE_ENV=development FORCE_COLOR=1 lerna run build --stream",
"build:watch": "FORCE_COLOR=1 lerna run build:watch --stream --concurrency 99 --no-sort",
"format": "prettier --write '**/**/*' --ignore-unknown",
"locale:verify": "node tools/verify-translations.cjs",
Expand All @@ -21,7 +21,7 @@
"test:rendering": "playwright test --config=./test/rendering/playwright.config.rendering.js --quiet",
"test:integration": "playwright test test/integration",
"test:component": "playwright test test/component",
"prepare": "husky install"
"postinstall": "husky install && yarn run locale:generate"
},
"repository": {
"type": "git",
Expand All @@ -43,6 +43,8 @@
"@babel/preset-react": "7.28.5",
"@commitlint/cli": "20.5.0",
"@commitlint/config-conventional": "20.5.0",
"@eslint/eslintrc": "^3.3.5",
"@eslint/js": "^10.0.1",
"@jest/globals": "^30.3.0",
"@playwright/test": "1.58.2",
"@rollup/plugin-babel": "7.0.0",
Expand Down
14 changes: 14 additions & 0 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3256,6 +3256,18 @@ __metadata:
languageName: node
linkType: hard

"@eslint/js@npm:^10.0.1":
version: 10.0.1
resolution: "@eslint/js@npm:10.0.1"
peerDependencies:
eslint: ^10.0.0
peerDependenciesMeta:
eslint:
optional: true
checksum: 10c0/9f3fcaf71ba7fdf65d82e8faad6ecfe97e11801cc3c362b306a88ea1ed1344ae0d35330dddb0e8ad18f010f6687a70b75491b9e01c8af57acd7987cee6b3ec6c
languageName: node
linkType: hard

"@eslint/object-schema@npm:^2.1.7":
version: 2.1.7
resolution: "@eslint/object-schema@npm:2.1.7"
Expand Down Expand Up @@ -19656,6 +19668,8 @@ __metadata:
"@babel/preset-react": "npm:7.28.5"
"@commitlint/cli": "npm:20.5.0"
"@commitlint/config-conventional": "npm:20.5.0"
"@eslint/eslintrc": "npm:^3.3.5"
"@eslint/js": "npm:^10.0.1"
"@jest/globals": "npm:^30.3.0"
"@playwright/test": "npm:1.58.2"
"@rollup/plugin-babel": "npm:7.0.0"
Expand Down
Loading