Skip to content

feat: add data binding system with expression compiler and editor UI #253

feat: add data binding system with expression compiler and editor UI

feat: add data binding system with expression compiler and editor UI #253

Workflow file for this run

name: Build
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build-linux:
name: Linux (Ubuntu GCC)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
cmake \
ninja-build \
libglfw3-dev \
libgl1-mesa-dev \
xorg-dev \
libxkbcommon-dev \
ccache
- name: Setup ccache
uses: hendrikmuhs/ccache-action@v1.2.20
with:
key: ${{ runner.os }}-build-linux
max-size: 500M
- name: Configure CMake
run: cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug -DES_ENABLE_CCACHE=ON
- name: Build
run: cmake --build build
- name: Test
working-directory: build
run: ctest --output-on-failure
build-emscripten:
name: Web (Emscripten)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: pnpm/action-setup@v4
with:
version: 10
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '24'
cache: 'pnpm'
- name: Setup Emscripten
uses: mymindstorm/setup-emsdk@v14
with:
version: 5.0.0
- name: Setup ccache
uses: hendrikmuhs/ccache-action@v1.2.20
with:
key: ${{ runner.os }}-emscripten
max-size: 500M
- name: Install dependencies
run: pnpm install
- name: Build all targets
run: node build-tools/cli.js build -t all --no-sync
test:
name: Tests (SDK + Editor)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 10
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '24'
cache: 'pnpm'
- name: Install dependencies
run: pnpm install
- name: Type-check SDK
run: pnpm exec tsc --noEmit -p sdk/tsconfig.json
- name: Build SDK
run: pnpm --filter ./sdk build
- name: Type-check Editor
run: pnpm exec tsc --noEmit -p editor/tsconfig.json
- name: Run SDK tests
run: pnpm --filter ./sdk exec vitest run
- name: Run Editor tests
run: pnpm --filter ./editor exec vitest run