Skip to content

Set default prebuilt paths in env template #74

Set default prebuilt paths in env template

Set default prebuilt paths in env template #74

Workflow file for this run

name: Build SphereUI
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
workflow_dispatch:
jobs:
build:
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
- name: Setup MSVC (x64)
uses: ilammy/msvc-dev-cmd@v1
with:
arch: x64
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Fetch dependencies
run: bun run fetch:deps
- name: Cache Skia prebuilt
id: cache-skia
uses: actions/cache@v4
with:
path: external/prebuilt/skia
key: skia-${{ hashFiles('CMakeLists.txt') }}
- name: Cache V8 prebuilt
id: cache-v8
uses: actions/cache@v4
with:
path: external/prebuilt/v8
key: v8-${{ hashFiles('CMakeLists.txt') }}
- name: Configure CMake
run: bun run configure
- name: Build framework
run: bun run build:framework
- name: Build examples
run: bun run build:example
- name: Upload SphereKit SDK
uses: actions/upload-artifact@v4
with:
name: SphereKit-SDK
path: |
build/SphereKit.Foundation.dll
build/SphereKit.Foundation.lib
build/SphereKit.GraphicInterface.dll
build/SphereKit.GraphicInterface.lib
build/SphereKit.GraphicComponent.dll
build/SphereKit.GraphicComponent.lib
build/SphereKit.DirectAudioEngine.dll
build/SphereKit.DirectAudioEngine.lib
build/SphereKit.JavaScriptEngine.dll
build/SphereKit.JavaScriptEngine.lib
build/Sphere.React.dll
build/Sphere.React.lib
build/SphereKit.Vue.dll
build/SphereKit.Vue.lib
include/SPHXApplication.hpp
include/SPHXColor.hpp
include/SPHXDirectAudioEngine.hpp
include/SPHXFoundation.hpp
include/SPHXGraphicComponents.hpp
include/SPHXGraphicInterface.hpp
include/SPHXIWidget.hpp
include/SPHXImage.hpp
include/SPHXPainter.hpp
include/SPHXSvg.hpp
include/SPHXJavaScriptEngine.hpp
include/SphereReact.hpp
include/SphereVUE.hpp
include/audio/Streaming.hpp
include/core/**
include/gui/**
include/platform/**
include/utils/**
framework/MikoUI/include/MikoUI.hpp
retention-days: 30
- name: Upload examples
uses: actions/upload-artifact@v4
with:
name: SphereKit-Examples
path: |
build/SphereExample.exe
build/ActivityMonitor.exe
build/MixerConsole.exe
build/BorderlessPlayer.exe
build/ReactUIDemo.exe
build/VueUIDemo.exe
retention-days: 30
- name: Upload build logs on failure
if: failure()
uses: actions/upload-artifact@v4
with:
name: build-logs
path: |
build/**/*.log
build/CMakeFiles/CMakeError.log
build/CMakeFiles/CMakeOutput.log
retention-days: 7