Consider up to 2 nodes to apply climb_factor #162
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
name: macos | |
# build on c/cpp changes or workflow changes | |
on: | |
push: | |
paths: | |
- 'lib/**.[ch]' | |
- 'lib/**.cpp' | |
- 'src/**.[ch]' | |
- 'src/**.cpp' | |
- 'irr/**.[ch]' | |
- 'irr/**.cpp' | |
- 'irr/**.mm' # Objective-C(++) | |
- '**/CMakeLists.txt' | |
- 'cmake/Modules/**' | |
- 'po/**.po' | |
- '.github/workflows/macos.yml' | |
pull_request: | |
paths: | |
- 'lib/**.[ch]' | |
- 'lib/**.cpp' | |
- 'src/**.[ch]' | |
- 'src/**.cpp' | |
- 'irr/**.[ch]' | |
- 'irr/**.cpp' | |
- 'irr/**.mm' # Objective-C(++) | |
- '**/CMakeLists.txt' | |
- 'cmake/Modules/**' | |
- 'po/**.po' | |
- '.github/workflows/macos.yml' | |
jobs: | |
build-intel-macos: | |
# use lowest possible macOS running on x86_64 supported by brew to support more users | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install deps | |
run: | | |
source ./util/ci/common.sh | |
install_macos_deps | |
- name: Build | |
run: | | |
mkdir build | |
cd build | |
cmake .. \ | |
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 \ | |
-DCMAKE_FIND_FRAMEWORK=LAST \ | |
-DCMAKE_INSTALL_PREFIX=../build/macos/ \ | |
-DRUN_IN_PLACE=FALSE -DENABLE_GETTEXT=TRUE \ | |
-DINSTALL_DEVTEST=TRUE | |
cmake --build . -j$(sysctl -n hw.logicalcpu) | |
make install | |
- name: Test | |
run: | | |
./build/macos/luanti.app/Contents/MacOS/luanti --run-unittests | |
# Zipping the built .app preserves permissions on the contained files, | |
# which the GitHub artifact pipeline would otherwise strip away. | |
- name: CPack | |
run: | | |
cd build | |
rm -rf macos | |
cmake .. -DINSTALL_DEVTEST=FALSE | |
cpack -G ZIP -B macos | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: luanti-macos | |
path: ./build/macos/*.zip | |
build-arm-macos-xcode: | |
runs-on: macos-14 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install deps | |
run: | | |
source ./util/ci/common.sh | |
install_macos_deps | |
# brew jsoncpp do not include libjsoncpp.a, and if installed header conflict caused build failure | |
brew uninstall jsoncpp | |
- name: Build with Cmake | |
run: | | |
mkdir build | |
cd build | |
cmake .. \ | |
-DCMAKE_OSX_DEPLOYMENT_TARGET=14 \ | |
-DCMAKE_FIND_FRAMEWORK=LAST \ | |
-DCMAKE_INSTALL_PREFIX=../build/macos/ \ | |
-DRUN_IN_PLACE=FALSE -DENABLE_GETTEXT=TRUE \ | |
-DENABLE_SYSTEM_JSONCPP=OFF | |
cmake --build . -j$(sysctl -n hw.logicalcpu) | |
make install | |
- name: Build and Archive with Xcode | |
run: | | |
mkdir build_xcode | |
cd build_xcode | |
../util/ci/build_xcode.sh | |
- name: Tests | |
run: | | |
mkdir -p "${HOME}/Library/Application Support/minetest/games/" | |
ln -s "${PWD}/games/devtest" "${HOME}/Library/Application Support/minetest/games/" | |
./build/macos/luanti.app/Contents/MacOS/luanti --run-unittests | |
./build_xcode/luanti.xcarchive/Products/Applications/luanti.app/Contents/MacOS/luanti --run-unittests | |
- name: Diff Resources | |
run: | | |
diff -rd ./build/macos/luanti.app/Contents/Resources ./build_xcode/build/Release/luanti.app/Contents/Resources || exit 1 | |
diff -rd ./build/macos/luanti.app/Contents/Resources ./build_xcode/luanti.xcarchive/Products/Applications/luanti.app/Contents/Resources || exit 1 |