Skip to content

V3.8.5

V3.8.5 #7220

name: <Native> Linux
on:
pull_request:
paths:
- '.github/workflows/native-compile-linux.yml'
- 'templates/**'
- 'native/**'
# 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_linux:
name: "Linux-Ubuntu"
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@v4
- 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: Install dependencies
run: |
sudo apt install libx11-dev -y
sudo apt install libsndio-dev -y
sudo apt install ninja-build -y
- name: Compile
env:
COCOS_ENGINE_DEV: 1
run: |
NATIVE_ROOT=$GITHUB_WORKSPACE/native
echo "Compiling Linux ... "
cd $GITHUB_WORKSPACE/templates/linux
mkdir -p build-linux/proj
touch build-linux/proj/cfg.cmake
echo "set(CC_USE_VULKAN OFF)" >> build-linux/proj/cfg.cmake
echo "set(CC_USE_GLES2 OFF)" >> build-linux/proj/cfg.cmake
echo "set(CC_USE_GLES3 ON)" >> build-linux/proj/cfg.cmake
echo "set(CC_USE_METAL OFF)" >> build-linux/proj/cfg.cmake
echo "set(USE_WEBSOCKET_SERVER OFF)" >> build-linux/proj/cfg.cmake
echo "set(CMAKE_CXX_STANDARD_REQUIRED ON)" >> build-linux/proj/cfg.cmake
echo "set(USE_PHYSICS_PHYSX OFF)" >> build-linux/proj/cfg.cmake
echo "set(CC_EXECUTABLE_NAME \"\")" >> build-linux/proj/cfg.cmake
mkdir build-linux/assets
RES_DIR=$GITHUB_WORKSPACE/templates/linux/build-linux
cd build-linux
cmake ../ -GNinja -DRES_DIR=$RES_DIR -DCOCOS_X_PATH=$NATIVE_ROOT
set +e
cmake --build .