-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'v3.8.2' into develop-merge-v3.8.2
Conflicts: .gitignore cocos/2d/components/deprecated.ts cocos/2d/components/label-outline.ts cocos/2d/components/label.ts cocos/3d/assets/mesh.ts cocos/3d/misc/mesh-codec.ts cocos/core/geometry/geometry-native-ext.ts cocos/core/settings.ts cocos/gfx/webgpu/webgpu-define.ts cocos/input/input.ts cocos/render-scene/core/pass.ts cocos/rendering/custom/compiler.ts cocos/rendering/custom/executor.ts cocos/rendering/custom/pipeline-define.ts cocos/rendering/custom/web-pipeline.ts cocos/rendering/render-additive-light-queue.ts cocos/webgpu/instantiated.ts native/cocos/editor-support/spine-wasm/spine-type-export.cpp native/cocos/platform/SDLHelper.cpp native/cocos/platform/SDLHelper.h native/external-config.json package-lock.json package.json pal/env/src/native/env.ts pal/screen-adapter/native/screen-adapter.ts tests/init.ts
- Loading branch information
Showing
237 changed files
with
15,022 additions
and
3,335 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -74,6 +74,7 @@ jobs: | |
with: | ||
ndk-version: r21e | ||
add-to-path: false | ||
local-cache: true | ||
- uses: actions/setup-java@v3 | ||
id: setup-jdk | ||
with: | ||
|
@@ -144,6 +145,7 @@ jobs: | |
with: | ||
ndk-version: r21e | ||
add-to-path: false | ||
local-cache: true | ||
- uses: actions/setup-java@v3 | ||
id: setup-jdk | ||
with: | ||
|
@@ -206,6 +208,157 @@ jobs: | |
df -h | ||
echo "Compile Android Debug Done!" | ||
compile_openharmony: | ||
name: "Openharmony" | ||
if: | ||
(! contains(github.event.pull_request.body, '[X] does not change any runtime related code or build configuration')) | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Download external libraries | ||
shell: bash | ||
run: | | ||
EXT_VERSION=`node ./.github/workflows/get-native-external-version.js` | ||
git clone --branch $EXT_VERSION --depth 1 https://github.com/cocos/cocos-engine-external native/external | ||
- uses: actions/setup-java@v3 | ||
id: setup-jdk | ||
with: | ||
distribution: 'zulu' | ||
java-version: '17' | ||
- name: Get oh sdk cache directory path | ||
id: oh-sdk-cache-dir-path | ||
run: | | ||
echo "cache dir: " | ||
echo "dir=$HOME/openharmony" >> $GITHUB_OUTPUT | ||
- name: Output cache dir | ||
run: | | ||
echo "Output cache dir: ${{ steps.oh-sdk-cache-dir-path.outputs.dir }}" | ||
- name: Cache OH SDK | ||
id: cache-oh-sdk | ||
uses: actions/cache@v3 | ||
env: | ||
cache-name: cache-oh-sdk-9 | ||
with: | ||
path: ${{ steps.oh-sdk-cache-dir-path.outputs.dir }} | ||
key: ${{ runner.os }}-build-${{ env.cache-name }} | ||
|
||
- name: Add package.json | ||
run: | | ||
echo "{}" > package.json | ||
echo "{\"name\": \"tests\",\"lockfileVersion\": 3,\"requires\": true,\"packages\": {}}" > package-lock.json | ||
- uses: actions/setup-node@v3 | ||
with: | ||
node-version: 14 | ||
cache: 'npm' | ||
|
||
- if: ${{ steps.cache-oh-sdk.outputs.cache-hit != 'true' }} | ||
name: No Cache found, install oh sdk | ||
continue-on-error: false | ||
run: | | ||
if [ ! -d "$HOME/openharmony" ]; then | ||
mkdir -p $HOME/openharmony | ||
echo "Download commandline-tools-linux.zip ..." | ||
curl -o commandline-tools-linux.zip "https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_package_901_9/b1/v3/E6zhv5UFQ2-inIwNJhTN6Q/commandline-tools-linux-2.0.0.2.zip?HW-CC-KV=V1&HW-CC-Date=20230621T074401Z&HW-CC-Expire=315360000&HW-CC-Sign=621224257B02079B1E76C0A56FDF21483400B1E3556213F88DC79BC9BE7D595D" | ||
echo "Unzip commandline-tools-linux.zip ..." | ||
unzip commandline-tools-linux.zip -d $HOME/openharmony > /dev/null | ||
cd $HOME/openharmony | ||
ls -l | ||
cd command-line-tools | ||
echo "=============== PATCHING sdkmanager/bin/sdkmgr file ===============" | ||
sed -i "[email protected][email protected]=UTF-8 -Duser.country=CN@g" ./sdkmanager/bin/sdkmgr | ||
cd bin | ||
./sdkmgr list | ||
echo "=============== INSTALL HOS toolchains:9 ===============" | ||
./sdkmgr install toolchains:9 --accept-license > /dev/null | ||
echo "=============== INSTALL OH SDK ets:9 ===============" | ||
./sdkmgr install OpenHarmony/ets:9 --accept-license > /dev/null | ||
echo "=============== INSTALL OH SDK js:9 ===============" | ||
./sdkmgr install OpenHarmony/js:9 --accept-license > /dev/null | ||
echo "=============== INSTALL OH SDK native:9 ===============" | ||
./sdkmgr install OpenHarmony/native:9 --accept-license > /dev/null | ||
echo "=============== INSTALL OH SDK toolchains:9 ===============" | ||
./sdkmgr install OpenHarmony/toolchains:9 --accept-license > /dev/null | ||
echo "=============== INSTALL OH SDK DONE ===============" | ||
./sdkmgr list | ||
fi | ||
- name: Compile for Openharmony | ||
run: | | ||
which node | ||
which npm | ||
which java | ||
node -v | ||
npm -v | ||
java --version | ||
echo "=============== list files in oh sdk ($HOME/openharmony) ===============" | ||
pushd $HOME/openharmony | ||
ls -l | ||
popd | ||
NATIVE_ROOT=$GITHUB_WORKSPACE/native | ||
echo "Compiling Openharmony ... " | ||
cd $GITHUB_WORKSPACE/templates/openharmony | ||
echo "message(STATUS \"hook before \${CC_TARGET_NAME}\")" >> Pre-Sample.cmake | ||
echo "message(STATUS \"hook after \${CC_TARGET_NAME}\")" >> Post-Sample.cmake | ||
mkdir -p build-oh/proj | ||
touch build-oh/proj/cfg.cmake | ||
echo "set(CC_USE_GLES3 ON)" >> build-oh/proj/cfg.cmake | ||
echo "set(CC_USE_VULKAN OFF)" >> build-oh/proj/cfg.cmake | ||
echo "set(CC_USE_GLES2 ON)" >> build-oh/proj/cfg.cmake | ||
echo "set(USE_WEBSOCKET_SERVER OFF)" >> build-oh/proj/cfg.cmake | ||
echo "set(CMAKE_CXX_STANDARD_REQUIRED ON)" >> build-oh/proj/cfg.cmake | ||
echo "set(COCOS_X_PATH $NATIVE_ROOT)" >> build-oh/proj/cfg.cmake | ||
echo "set(CC_EXECUTABLE_NAME \"\")" >> build-oh/proj/cfg.cmake | ||
echo "set(USE_SE_V8 OFF)" >> build-oh/proj/cfg.cmake | ||
echo "set(USE_SE_NAPI ON)" >> build-oh/proj/cfg.cmake | ||
echo "=============== cat build-oh/proj/cfg.cmake ===============" | ||
cat build-oh/proj/cfg.cmake | ||
mkdir -p build-oh/assets | ||
ASSET_DIR=$GITHUB_WORKSPACE/templates/openharmony/build-oh | ||
echo "=============== HACK ./entry/build-profile.json5 ===============" | ||
sed -i "s@[^-]DRES_DIR[^=]@$ASSET_DIR@g" ./entry/build-profile.json5 | ||
sed -i "s@[^-]DCOMMON_DIR[^=]@$GITHUB_WORKSPACE/templates/common@g" ./entry/build-profile.json5 | ||
# To speedup CI, compile arm64-v8a only | ||
sed -i "s@\"armeabi-v7a\",@@g" ./entry/build-profile.json5 | ||
echo "entry/build-profile.json5: " | ||
cat ./entry/build-profile.json5 | ||
echo "=============== HACK ./hvigor/hvigor-wrapper.js ===============" | ||
sed -i "s@HVIGOR_WRAPPER_PNPM_SCRIPT_PATH,\[\"install\"\]@HVIGOR_WRAPPER_PNPM_SCRIPT_PATH,\[\"install\", \"--lockfile=false\"\]@g" ./hvigor/hvigor-wrapper.js | ||
echo "=============== SET NPM OH REGISTRY ===============" | ||
echo "@ohos:registry=https://repo.harmonyos.com/npm/" >> ~/.npmrc | ||
npm config get @ohos:registry | ||
npm config get registry | ||
echo "=============== UPDATE local.properties ===============" | ||
echo "nodejs.dir=/usr/bin" >> local.properties | ||
echo "hwsdk.dir=$HOME/openharmony/hwsdk" >> local.properties | ||
echo "=============== UPDATE ./hvigor/hvigor-config.json5 ===============" | ||
echo "{\"hvigorVersion\":\"3.0.2\",\"dependencies\":{\"@ohos/hvigor-ohos-plugin\":\"3.0.2\"}}" > ./hvigor/hvigor-config.json5 | ||
echo "=============== Do not import game.ts for cocos_worker.ts ===============" | ||
sed -i '/<% if(!useV8) { %>/,/<% } %>/d' ./entry/src/main/ets/workers/cocos_worker.ts | ||
echo "=============== EXECUTE hvigorw ===============" | ||
./hvigorw clean -i | ||
./hvigorw --stop-daemon -i | ||
./hvigorw assembleHap -p debuggable=true --no-daemon -d | ||
#./hvigorw default@ProcessLibs -p debuggable=true --no-daemon -d | ||
echo "=============== EXECUTE hvigorw DONE ===============" | ||
compile_mac_x86_64: | ||
name: "MacOS x86_64" | ||
if: | ||
|
@@ -359,33 +512,3 @@ jobs: | |
cmake --build . --config Debug -- -jobs $NUM_OF_CORES CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO | ||
fi | ||
echo "Compile iOS Done!" | ||
compile_wgpu_mac: | ||
name: "Emscripten" | ||
runs-on: macos-latest | ||
if: contains( github.event.pull_request.title, 'WGPU_CI_ON' ) | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Download external libraries | ||
shell: bash | ||
run: | | ||
EXT_VERSION=`node ./.github/workflows/get-native-external-version.js` | ||
git clone --branch $EXT_VERSION --depth 1 https://github.com/cocos/cocos-engine-external native/external | ||
- name: Setup Emscripten | ||
run: | | ||
NATIVE_ROOT=$GITHUB_WORKSPACE/native | ||
git clone https://github.com/emscripten-core/emsdk.git NATIVE_ROOT/../../emsdk | ||
cd NATIVE_ROOT/../../emsdk | ||
./emsdk install 3.1.17 | ||
./emsdk activate 3.1.17 | ||
source ./emsdk_env.sh | ||
emcc -v | ||
- name: Compile | ||
env: | ||
COCOS_ENGINE_DEV: 1 | ||
run: | | ||
NATIVE_ROOT=$GITHUB_WORKSPACE/native | ||
cd $NATIVE_ROOT/cocos/renderer/gfx-wgpu | ||
$NATIVE_ROOT/../../emsdk/upstream/emscripten/emcmake cmake . | ||
$NATIVE_ROOT/../../emsdk/upstream/emscripten/emmake make | ||
echo "Compile WGPU by ems on MacOS Done!" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
name: <Native> Compile WebGPU | ||
|
||
on: | ||
pull_request: | ||
paths: | ||
- 'native/external-config.json' | ||
- 'native/cocos/base/**' | ||
- 'native/cocos/renderer/gfx-base/**' | ||
- 'native/cocos/renderer/gfx-wgpu/**' | ||
- 'native/cocos/renderer/gfx-validator/**' | ||
- 'native/cocos/renderer/gfx-empty/**' | ||
- '.github/workflows/native-compile-webgpu.yml' | ||
|
||
# github.head_ref is only defined on pull_request events | ||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.actor }}-${{ github.head_ref || github.run_id }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
compile_wgpu: | ||
if: | ||
(! contains(github.event.pull_request.body, '[X] does not change any runtime related code or build configuration')) | ||
name: "Emscripten" | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
- name: Download external libraries | ||
shell: bash | ||
run: | | ||
EXT_VERSION=`node ./.github/workflows/get-native-external-version.js` | ||
git clone --branch $EXT_VERSION --depth 1 https://github.com/cocos/cocos-engine-external native/external | ||
- name: Setup emsdk | ||
uses: dumganhar/setup-emsdk@997d2cde2deabda085a11f98e86e842915b0e846 | ||
with: | ||
version: 3.1.45 | ||
actions-cache-folder: 'emsdk-cache' | ||
|
||
- 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 | ||
- name: Compile | ||
# env: | ||
# COCOS_ENGINE_DEV: 1 | ||
run: | | ||
NATIVE_ROOT=$GITHUB_WORKSPACE/native | ||
cd $NATIVE_ROOT/cocos/renderer/gfx-wgpu | ||
mkdir build | ||
cd build | ||
cmake .. -GNinja -DCMAKE_TOOLCHAIN_FILE=${EMSDK}/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake -DCMAKE_BUILD_TYPE=Debug | ||
ninja | ||
echo "============== Compile WGPU by ems on Ubuntu Done! ==============" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.