forked from Mirrorlandia_minetest/minetest
68 lines
1.8 KiB
YAML
68 lines
1.8 KiB
YAML
name: macos
|
|
|
|
# build on c/cpp changes or workflow changes
|
|
on:
|
|
push:
|
|
paths:
|
|
- 'lib/**.[ch]'
|
|
- 'lib/**.cpp'
|
|
- 'src/**.[ch]'
|
|
- 'src/**.cpp'
|
|
- '**/CMakeLists.txt'
|
|
- 'cmake/Modules/**'
|
|
- '.github/workflows/macos.yml'
|
|
pull_request:
|
|
paths:
|
|
- 'lib/**.[ch]'
|
|
- 'lib/**.cpp'
|
|
- 'src/**.[ch]'
|
|
- 'src/**.cpp'
|
|
- '**/CMakeLists.txt'
|
|
- 'cmake/Modules/**'
|
|
- '.github/workflows/macos.yml'
|
|
|
|
env:
|
|
MINETEST_GAME_REPO: https://github.com/minetest/minetest_game.git
|
|
MINETEST_GAME_BRANCH: master
|
|
MINETEST_GAME_NAME: minetest_game
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: macos-11
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Install deps
|
|
run: |
|
|
source ./util/ci/common.sh
|
|
install_macos_deps
|
|
|
|
- name: Build
|
|
run: |
|
|
git clone -b $MINETEST_GAME_BRANCH $MINETEST_GAME_REPO games/$MINETEST_GAME_NAME
|
|
git clone https://github.com/minetest/irrlicht lib/irrlichtmt --depth 1 -b $(cat misc/irrlichtmt_tag.txt)
|
|
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
|
|
make -j2
|
|
make install
|
|
|
|
- name: Test
|
|
run: |
|
|
./build/macos/minetest.app/Contents/MacOS/minetest --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
|
|
cpack -G ZIP -B macos
|
|
|
|
- uses: actions/upload-artifact@v3
|
|
with:
|
|
name: minetest-macos
|
|
path: ./build/macos/*.zip
|