Skip to content

Commit

Permalink
Fix that package size check may be wrong if spine cpp code changed bu…
Browse files Browse the repository at this point in the history
…t the generated wasm is not merged into external repo.
  • Loading branch information
dumganhar committed Dec 13, 2024
1 parent c2882db commit c252b14
Showing 1 changed file with 72 additions and 26 deletions.
98 changes: 72 additions & 26 deletions .github/workflows/web-interface-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,28 @@ jobs:
with:
node-version: '18.x'

- name: Setup emsdk
uses: dumganhar/setup-emsdk@997d2cde2deabda085a11f98e86e842915b0e846
with:
version: 3.1.41
actions-cache-folder: 'emsdk-cache-3.1.41'

- name: Verify
run: |
which emcc
emcc -v
- name: Install ninja
run: |
if ! command -v ninja &> /dev/null; then
echo "Ninja not found, installing..."
# sudo apt update
sudo apt install ninja-build
else
echo "Ninja is already installed."
fi
which ninja
- uses: actions/checkout@v4
name: Checkout Base Ref
with:
Expand All @@ -43,6 +65,50 @@ jobs:
ref: "${{ env.EXT_VERSION }}"
fetch-depth: 1

- name: Apply emscripten patches (BASE)
run: |
echo "--------------------------------- Save bind.cpp ---------------------------------"
cp $EMSDK/upstream/emscripten/system/lib/embind/bind.cpp $EMSDK/upstream/emscripten/system/lib/embind/bind.cpp.bak
echo "--------------------------------- Apply embind bind.cpp patches ---------------------------------"
cp -f ./engine/.github/workflows/emscripten-patches/embind/bind.cpp $EMSDK/upstream/emscripten/system/lib/embind/
echo "--------------------------------- Apply patches DONE! ---------------------------------"
cat $EMSDK/upstream/emscripten/system/lib/embind/bind.cpp
- name: Build Spine WASM (BASE)
run: |
cd ./engine/native/cocos/editor-support/spine-wasm
mkdir build-wasm
cd build-wasm
emcmake cmake .. -GNinja
ninja
ls -l
- name: Build Spine ASMJS (BASE)
run: |
cd ./engine/native/cocos/editor-support/spine-wasm
sed -i 's/set(BUILD_WASM 1)/set(BUILD_WASM 0)/g' CMakeLists.txt
mkdir build-asmjs
cd build-asmjs
emcmake cmake .. -GNinja
ninja
ls -l
- name: Copy files to external directory (BASE)
run: |
mkdir dist
cp ./engine/native/cocos/editor-support/spine-wasm/build-wasm/spine.wasm ./dist/
cp ./engine/native/cocos/editor-support/spine-wasm/build-wasm/spine.js ./dist/spine.wasm.js
cp ./engine/native/cocos/editor-support/spine-wasm/build-asmjs/spine.js.mem ./dist/
cp ./engine/native/cocos/editor-support/spine-wasm/build-asmjs/spine.js ./dist/spine.asm.js
echo "-------- Before replace spine wasm -----------"
ls -l ./engine/native/external/emscripten/spine/
cp -f ./dist/* ./engine/native/external/emscripten/spine/
echo "-------- After replace spine wasm ------------"
ls -l ./engine/native/external/emscripten/spine/
echo "-----------------------------------------------"
cd ./engine/native/external
git status
- name: Build Base Declarations
working-directory: ./engine
run: |
Expand Down Expand Up @@ -99,18 +165,7 @@ jobs:
ref: "${{ env.EXT_VERSION_HEAD }}"
fetch-depth: 1

- name: Setup emsdk
uses: dumganhar/setup-emsdk@997d2cde2deabda085a11f98e86e842915b0e846
with:
version: 3.1.41
actions-cache-folder: 'emsdk-cache-3.1.41'

- name: Verify
run: |
which emcc
emcc -v
- name: Apply emscripten patches
- name: Apply emscripten patches (HEAD)
run: |
echo "--------------------------------- Save bind.cpp ---------------------------------"
cp $EMSDK/upstream/emscripten/system/lib/embind/bind.cpp $EMSDK/upstream/emscripten/system/lib/embind/bind.cpp.bak
Expand All @@ -119,18 +174,7 @@ jobs:
echo "--------------------------------- Apply patches DONE! ---------------------------------"
cat $EMSDK/upstream/emscripten/system/lib/embind/bind.cpp
- name: Install ninja
run: |
if ! command -v ninja &> /dev/null; then
echo "Ninja not found, installing..."
# sudo apt update
sudo apt install ninja-build
else
echo "Ninja is already installed."
fi
which ninja
- name: Build Spine WASM
- name: Build Spine WASM (HEAD)
run: |
cd ./engine-HEAD/native/cocos/editor-support/spine-wasm
mkdir build-wasm
Expand All @@ -139,7 +183,7 @@ jobs:
ninja
ls -l
- name: Build Spine ASMJS
- name: Build Spine ASMJS (HEAD)
run: |
cd ./engine-HEAD/native/cocos/editor-support/spine-wasm
sed -i 's/set(BUILD_WASM 1)/set(BUILD_WASM 0)/g' CMakeLists.txt
Expand All @@ -149,7 +193,7 @@ jobs:
ninja
ls -l
- name: Copy files to external directory
- name: Copy files to external directory (HEAD)
run: |
mkdir dist
cp ./engine-HEAD/native/cocos/editor-support/spine-wasm/build-wasm/spine.wasm ./dist/
Expand All @@ -162,6 +206,8 @@ jobs:
echo "-------- After replace spine wasm ------------"
ls -l ./engine-HEAD/native/external/emscripten/spine/
echo "-----------------------------------------------"
cd ./engine-HEAD/native/external
git status
- name: Upload Artifact
uses: actions/upload-artifact@v4
Expand Down

0 comments on commit c252b14

Please sign in to comment.