Skip to content

Commit eddd7eb

Browse files
committed
Add Emscripten/WASM CI build job
This is in preparation to integrate web support into our regular releases starting with version 1.1.0.
1 parent f36c60b commit eddd7eb

1 file changed

Lines changed: 33 additions & 1 deletion

File tree

.github/workflows/ci.yml

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,38 @@ jobs:
108108
name: ${{ matrix.target }}
109109
path: dist/sdk/
110110

111+
wasm:
112+
runs-on: ubuntu-latest
113+
needs: build-and-test
114+
steps:
115+
- uses: actions/checkout@v4
116+
117+
# Pinned to the emsdk version raylib 6.0's own web build used, so the
118+
# archived libraylib.web.a stays ABI-compatible with this emcc.
119+
- uses: emscripten-core/setup-emsdk@v15
120+
with:
121+
version: 5.0.3
122+
123+
- name: Fetch raylib v6.0 (webassembly)
124+
run: |
125+
mkdir -p build/raylib
126+
curl -sL https://github.com/raysan5/raylib/releases/download/6.0/raylib-6.0_webassembly.zip \
127+
-o build/raylib/raylib-6.0_webassembly.zip
128+
( cd build/raylib && unzip -q raylib-6.0_webassembly.zip )
129+
echo "RAYLIB_WEB_DIR=$PWD/build/raylib/raylib-6.0_webassembly/include" >> "$GITHUB_ENV"
130+
echo "RAYLIB_WEB_LIB=$PWD/build/raylib/raylib-6.0_webassembly/lib/libraylib.web.a" >> "$GITHUB_ENV"
131+
132+
- name: Build web viewer (Emscripten)
133+
run: make viewer-web
134+
135+
- name: Upload artifacts
136+
uses: actions/upload-artifact@v4
137+
with:
138+
name: wasm
139+
path: |
140+
dist/Live2DCubismCore*.js
141+
dist/viewer.*
142+
111143
release:
112144
if: startsWith(github.ref, 'refs/tags/v')
113145
runs-on: ubuntu-latest
@@ -189,4 +221,4 @@ jobs:
189221
files: |
190222
dist/PurismCore-*.zip
191223
dist/PurismCoreBundle-*.h
192-
generate_release_notes: true
224+
generate_release_notes: true

0 commit comments

Comments
 (0)