forked from minetest/minetest
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
6a08b86
commit f2def16
Showing
3 changed files
with
237 additions
and
1 deletion.
There are no files selected for viewing
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,173 @@ | ||
name: linux | ||
|
||
# build on c/cpp changes or workflow changes | ||
on: | ||
push: | ||
paths: | ||
- 'lib/**.[ch]' | ||
- 'lib/**.cpp' | ||
- 'src/**.[ch]' | ||
- 'src/**.cpp' | ||
- '**/CMakeLists.txt' | ||
- 'cmake/Modules/**' | ||
- 'util/ci/**' | ||
- 'misc/irrlichtmt_tag.txt' | ||
- 'Dockerfile' | ||
- '.dockerignore' | ||
- '.github/workflows/linux.yml' | ||
pull_request: | ||
paths: | ||
- 'lib/**.[ch]' | ||
- 'lib/**.cpp' | ||
- 'src/**.[ch]' | ||
- 'src/**.cpp' | ||
- '**/CMakeLists.txt' | ||
- 'cmake/Modules/**' | ||
- 'util/ci/**' | ||
- 'misc/irrlichtmt_tag.txt' | ||
- 'Dockerfile' | ||
- '.dockerignore' | ||
- '.github/workflows/linux.yml' | ||
|
||
env: | ||
MINETEST_POSTGRESQL_CONNECT_STRING: 'host=localhost user=minetest password=minetest dbname=minetest' | ||
|
||
jobs: | ||
# Older gcc version (should be close to our minimum supported version) | ||
gcc_7: | ||
runs-on: ubuntu-20.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
depth: 0 | ||
- name: Install deps | ||
run: | | ||
source ./util/ci/common.sh | ||
install_linux_deps g++-7 | ||
- name: Build | ||
run: | | ||
chmod +x ./util/ci/build.sh | ||
./util/ci/build.sh | ||
env: | ||
CC: gcc-7 | ||
CXX: g++-7 | ||
|
||
- name: Test | ||
run: | | ||
./bin/minetest --run-unittests | ||
# Current gcc version | ||
gcc_12: | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Install deps | ||
run: | | ||
source ./util/ci/common.sh | ||
install_linux_deps g++-12 libluajit-5.1-dev | ||
- name: Build | ||
run: | | ||
chmod +x ./util/ci/build.sh | ||
./util/ci/build.sh | ||
env: | ||
CC: gcc-12 | ||
CXX: g++-12 | ||
|
||
- name: Test | ||
run: | | ||
mkdir nowrite | ||
chmod a-w nowrite | ||
cd nowrite | ||
../bin/minetest --run-unittests | ||
# Older clang version (should be close to our minimum supported version) | ||
clang_7: | ||
runs-on: ubuntu-20.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Install deps | ||
run: | | ||
source ./util/ci/common.sh | ||
install_linux_deps clang-7 llvm | ||
- name: Build | ||
run: | | ||
chmod +x ./util/ci/build.sh | ||
./util/ci/build.sh | ||
env: | ||
CC: clang-7 | ||
CXX: clang++-7 | ||
CMAKE_FLAGS: '-DCMAKE_C_FLAGS="-fsanitize=address" -DCMAKE_CXX_FLAGS="-fsanitize=address"' | ||
|
||
- name: Unittest | ||
run: | | ||
./bin/minetest --run-unittests | ||
# Current clang version | ||
clang_14: | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Install deps | ||
run: | | ||
source ./util/ci/common.sh | ||
install_linux_deps clang-14 gdb | ||
- name: Build | ||
run: | | ||
chmod +x ./util/ci/build.sh | ||
./util/ci/build.sh | ||
env: | ||
CC: clang-14 | ||
CXX: clang++-14 | ||
|
||
- name: Test | ||
run: | | ||
./bin/minetest --run-unittests | ||
- name: Integration test + devtest | ||
run: | | ||
chmod +x ./util/test_multiplayer.sh | ||
./util/test_multiplayer.sh | ||
# Build with prometheus-cpp (server-only) | ||
clang_9_prometheus: | ||
name: "clang_9 (PROMETHEUS=1)" | ||
runs-on: ubuntu-20.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Install deps | ||
run: | | ||
source ./util/ci/common.sh | ||
install_linux_deps clang-9 | ||
- name: Build prometheus-cpp | ||
run: | | ||
chmod +x ./util/ci/build_prometheus_cpp.sh | ||
./util/ci/build_prometheus_cpp.sh | ||
- name: Build | ||
run: | | ||
chmod +x ./util/ci/build.sh | ||
./util/ci/build.sh | ||
env: | ||
CC: clang-9 | ||
CXX: clang++-9 | ||
CMAKE_FLAGS: "-DENABLE_PROMETHEUS=1 -DBUILD_CLIENT=0" | ||
|
||
- name: Test | ||
run: | | ||
./bin/minetestserver --run-unittests | ||
docker: | ||
if: false | ||
name: "Docker image" | ||
runs-on: ubuntu-20.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Build docker image | ||
run: | | ||
docker build . -t minetest:latest | ||
docker run --rm minetest:latest /usr/local/bin/minetestserver --version |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
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' | ||
|
||
jobs: | ||
build: | ||
runs-on: macos-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Install deps | ||
run: | | ||
source ./util/ci/common.sh | ||
install_macos_deps | ||
- name: Build | ||
run: | | ||
git clone https://github.com/district53/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 \ | ||
-DINSTALL_DEVTEST=TRUE \ | ||
-DENABLE_REDIS=FALSE | ||
cmake --build . -j$(sysctl -n hw.logicalcpu) | ||
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@v4 | ||
with: | ||
name: minetest-macos | ||
path: ./build/macos/*.zip |