diff --git a/.github/workflows/generate-oh-sdk-cache.yml b/.github/workflows/generate-oh-sdk-cache.yml index 42d4bd2ba33..92a4d62b9ab 100644 --- a/.github/workflows/generate-oh-sdk-cache.yml +++ b/.github/workflows/generate-oh-sdk-cache.yml @@ -2,12 +2,6 @@ name: Generate OH SDK Cache on: workflow_dispatch: - inputs: - oh_sdk_version: - description: 'Openharmony SDK version' - type: string - default: '9' - required: true jobs: generate_oh_sdk_cache: @@ -34,15 +28,11 @@ jobs: id: cache-oh-sdk uses: actions/cache@v4 env: - cache-name: cache-oh-sdk-${{ github.event.inputs.oh_sdk_version }} + cache-name: cache-oh-sdk-12 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@v4 with: node-version: 14 @@ -55,26 +45,12 @@ jobs: 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" + wget -q https://github.com/dumganhar/oh-sdk-for-ci/releases/download/api-12/commandline-tools-linux-x64-5.0.3.906.zip.001 + wget -q https://github.com/dumganhar/oh-sdk-for-ci/releases/download/api-12/commandline-tools-linux-x64-5.0.3.906.zip.002 echo "Unzip commandline-tools-linux.zip ..." - unzip commandline-tools-linux.zip -d $HOME/openharmony > /dev/null + 7z x commandline-tools-linux-x64-5.0.3.906.zip.001 -o$HOME/openharmony > /dev/null cd $HOME/openharmony ls -l - cd command-line-tools - echo "=============== PATCHING sdkmanager/bin/sdkmgr file ===============" - sed -i "s@-Dfile.encoding=UTF-8@-Dfile.encoding=UTF-8 -Duser.country=CN@g" ./sdkmanager/bin/sdkmgr - cd bin - ./sdkmgr list - echo "=============== INSTALL HOS toolchains:${{ github.event.inputs.oh_sdk_version }} ===============" - ./sdkmgr install toolchains:${{ github.event.inputs.oh_sdk_version }} --accept-license > /dev/null - echo "=============== INSTALL OH SDK ets:${{ github.event.inputs.oh_sdk_version }} ===============" - ./sdkmgr install OpenHarmony/ets:${{ github.event.inputs.oh_sdk_version }} --accept-license > /dev/null - echo "=============== INSTALL OH SDK js:${{ github.event.inputs.oh_sdk_version }} ===============" - ./sdkmgr install OpenHarmony/js:${{ github.event.inputs.oh_sdk_version }} --accept-license > /dev/null - echo "=============== INSTALL OH SDK native:${{ github.event.inputs.oh_sdk_version }} ===============" - ./sdkmgr install OpenHarmony/native:${{ github.event.inputs.oh_sdk_version }} --accept-license > /dev/null - echo "=============== INSTALL OH SDK toolchains:${{ github.event.inputs.oh_sdk_version }} ===============" - ./sdkmgr install OpenHarmony/toolchains:${{ github.event.inputs.oh_sdk_version }} --accept-license > /dev/null - echo "=============== INSTALL OH SDK DONE ===============" - ./sdkmgr list + cd commandline-tools-linux-x64-5.0.3.906 + ls -l fi \ No newline at end of file diff --git a/.github/workflows/native-compile-platforms.yml b/.github/workflows/native-compile-platforms.yml index 49673c366f6..eaf7a4c84bc 100644 --- a/.github/workflows/native-compile-platforms.yml +++ b/.github/workflows/native-compile-platforms.yml @@ -233,6 +233,25 @@ jobs: (! contains(github.event.pull_request.body, '[X] does not change any runtime related code or build configuration')) runs-on: ubuntu-latest steps: + - name: Before free space + run: | + df -h + + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@d5af243ce7bacb67384aa6c5b1fc5f169e30903e + with: + tool-cache: true + android: true + dotnet: true + haskell: true + large-packages: true + docker-images: true + swap-storage: true + + - name: After free space + run: | + df -h + - uses: actions/checkout@v4 - name: Download external libraries shell: bash @@ -258,15 +277,15 @@ jobs: id: cache-oh-sdk uses: actions/cache@v4 env: - cache-name: cache-oh-sdk-9 + cache-name: cache-oh-sdk-12 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 + # - name: Add package.json + # run: | + # echo "{}" > package.json + # echo "{\"name\": \"tests\",\"lockfileVersion\": 3,\"requires\": true,\"packages\": {}}" > package-lock.json - uses: actions/setup-node@v4 with: node-version: 14 @@ -279,28 +298,14 @@ jobs: 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" + wget -q https://github.com/dumganhar/oh-sdk-for-ci/releases/download/api-12/commandline-tools-linux-x64-5.0.3.906.zip.001 + wget -q https://github.com/dumganhar/oh-sdk-for-ci/releases/download/api-12/commandline-tools-linux-x64-5.0.3.906.zip.002 echo "Unzip commandline-tools-linux.zip ..." - unzip commandline-tools-linux.zip -d $HOME/openharmony > /dev/null + 7z x commandline-tools-linux-x64-5.0.3.906.zip.001 -o$HOME/openharmony > /dev/null cd $HOME/openharmony ls -l - cd command-line-tools - echo "=============== PATCHING sdkmanager/bin/sdkmgr file ===============" - sed -i "s@-Dfile.encoding=UTF-8@-Dfile.encoding=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 + cd commandline-tools-linux-x64-5.0.3.906 + ls -l fi - name: Compile for Openharmony @@ -312,10 +317,13 @@ jobs: npm -v java --version echo "=============== list files in oh sdk ($HOME/openharmony) ===============" - pushd $HOME/openharmony + pushd $HOME/openharmony/commandline-tools-linux-x64-5.0.3.906 ls -l popd + export PATH=$PATH:$HOME/openharmony/commandline-tools-linux-x64-5.0.3.906/bin + which hvigorw + NATIVE_ROOT=$GITHUB_WORKSPACE/native echo "Compiling Openharmony ... " @@ -333,8 +341,9 @@ jobs: 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 "set(USE_SE_V8 ON)" >> build-oh/proj/cfg.cmake + echo "set(USE_SE_NAPI OFF)" >> build-oh/proj/cfg.cmake + echo "set(USE_SE_JSVM OFF)" >> build-oh/proj/cfg.cmake echo "=============== cat build-oh/proj/cfg.cmake ===============" cat build-oh/proj/cfg.cmake @@ -352,28 +361,18 @@ jobs: 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 "=============== 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 + sed -i '/<% if(useV8) { %>/,/<% } %>/d' ./entry/src/main/ets/workers/cocos_worker.ts + ls -l ./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 clean -i + hvigorw --stop-daemon -i + hvigorw --mode module -p product=default assembleHap --parallel --incremental debuggable=true --no-daemon -d #./hvigorw default@ProcessLibs -p debuggable=true --no-daemon -d echo "=============== EXECUTE hvigorw DONE ===============" diff --git a/native/cmake/predefine.cmake b/native/cmake/predefine.cmake index d41f9fe195d..86cc14678bf 100644 --- a/native/cmake/predefine.cmake +++ b/native/cmake/predefine.cmake @@ -131,6 +131,8 @@ if("$ENV{COCOS_ENGINE_DEV}" EQUAL "1") set(WERROR_FLAGS " ${WERROR_FLAGS} -Wno-nullability-completeness -Wno-deprecated-declarations") elseif(ANDROID) set(WERROR_FLAGS " ${WERROR_FLAGS} -Wno-deprecated-declarations -Wno-unknown-warning-option -Wno-deprecated-builtins") + elseif(OPENHARMONY) + set(WERROR_FLAGS " ${WERROR_FLAGS} -Wno-deprecated-declarations -Wno-deprecated-builtins -Wno-unused-command-line-argument -Wno-format") endif() if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")