name: 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@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: 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 .