Properly link flecs library
This commit is contained in:
833
engine/libs/flecs/.github/workflows/ci.yml
vendored
Normal file
833
engine/libs/flecs/.github/workflows/ci.yml
vendored
Normal file
@@ -0,0 +1,833 @@
|
||||
name: CI
|
||||
|
||||
on: [ push, pull_request ]
|
||||
|
||||
jobs:
|
||||
build-linux:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 30
|
||||
strategy:
|
||||
fail-fast: false
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: install bake
|
||||
run: |
|
||||
git clone https://github.com/SanderMertens/bake
|
||||
make -C bake/build-$(uname)
|
||||
bake/bake setup
|
||||
|
||||
- name: build flecs
|
||||
run: |
|
||||
bake --strict
|
||||
|
||||
build-macos:
|
||||
runs-on: macOS-latest
|
||||
timeout-minutes: 30
|
||||
strategy:
|
||||
fail-fast: false
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: install bake
|
||||
run: |
|
||||
git clone https://github.com/SanderMertens/bake
|
||||
make -C bake/build-$(uname)
|
||||
bake/bake setup
|
||||
|
||||
- name: build flecs
|
||||
run: |
|
||||
bake --strict
|
||||
|
||||
build-windows:
|
||||
runs-on: windows-latest
|
||||
timeout-minutes: 30
|
||||
strategy:
|
||||
fail-fast: false
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: ilammy/msvc-dev-cmd@v1
|
||||
- name: install bake
|
||||
run: |
|
||||
git clone https://github.com/SanderMertens/bake
|
||||
cd bake\build-Windows
|
||||
nmake
|
||||
cd ..
|
||||
./bake setup --local
|
||||
|
||||
- name: build flecs (debug)
|
||||
run: bake/bake --strict --cfg debug
|
||||
|
||||
- name: build flecs (release)
|
||||
run: bake/bake --strict --cfg release
|
||||
|
||||
- name: build examples (debug)
|
||||
run: bake/bake examples --strict --cfg debug
|
||||
|
||||
- name: build examples (release)
|
||||
run: bake/bake examples --strict --cfg debug
|
||||
|
||||
build-msys:
|
||||
runs-on: windows-latest
|
||||
timeout-minutes: 30
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- { sys: mingw64 }
|
||||
- { sys: mingw32 }
|
||||
- { sys: ucrt64 }
|
||||
- { sys: clang64 }
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: msys2 {0}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: msys2/setup-msys2@v2
|
||||
with:
|
||||
msystem: ${{matrix.sys}}
|
||||
update: true
|
||||
install: >-
|
||||
curl
|
||||
git
|
||||
pacboy: >-
|
||||
toolchain:p
|
||||
cmake:p
|
||||
|
||||
- name: create cmake build folders
|
||||
run: |
|
||||
mkdir cmake_build
|
||||
mkdir examples/c/cmake_build
|
||||
mkdir examples/cpp/cmake_build
|
||||
|
||||
- name: build flecs
|
||||
working-directory: cmake_build
|
||||
run: |
|
||||
cmake -G "MinGW Makefiles" -DFLECS_STRICT=ON ..
|
||||
cmake --build . -j 4
|
||||
|
||||
- name: build c examples
|
||||
working-directory: examples/c/cmake_build
|
||||
run: |
|
||||
cmake -G "MinGW Makefiles" -DFLECS_STRICT=ON ..
|
||||
cmake --build . -j 4
|
||||
|
||||
- name: build c++ examples
|
||||
working-directory: examples/cpp/cmake_build
|
||||
run: |
|
||||
cmake -G "MinGW Makefiles" -DFLECS_STRICT=ON ..
|
||||
cmake --build . -j 4
|
||||
|
||||
build:
|
||||
needs: build-linux
|
||||
runs-on: ${{ matrix.target.os }}
|
||||
timeout-minutes: 30
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
target:
|
||||
- { os: ubuntu-20.04, cc: gcc-7, cxx: g++-7 }
|
||||
- { os: ubuntu-20.04, cc: gcc-8, cxx: g++-8 }
|
||||
- { os: ubuntu-20.04, cc: gcc-9, cxx: g++-9 }
|
||||
- { os: ubuntu-20.04, cc: gcc-10, cxx: g++-10 }
|
||||
- { os: ubuntu-20.04, cc: gcc-11, cxx: g++-11 }
|
||||
- { os: ubuntu-latest, cc: gcc-12, cxx: g++-12 }
|
||||
- { os: ubuntu-latest, cc: gcc-13, cxx: g++-13 }
|
||||
- { os: ubuntu-20.04, cc: clang-8, cxx: clang++-8 }
|
||||
- { os: ubuntu-20.04, cc: clang-9, cxx: clang++-9 }
|
||||
- { os: ubuntu-20.04, cc: clang-10, cxx: clang++-10 }
|
||||
- { os: ubuntu-20.04, cc: clang-11, cxx: clang++-11 }
|
||||
- { os: ubuntu-20.04, cc: clang-12, cxx: clang++-12 }
|
||||
- { os: ubuntu-latest, cc: clang-13, cxx: clang++-13 }
|
||||
- { os: ubuntu-latest, cc: clang-14, cxx: clang++-14 }
|
||||
- { os: ubuntu-latest, cc: clang-15, cxx: clang++-15 }
|
||||
|
||||
env:
|
||||
CC: ${{ matrix.target.cc }}
|
||||
CXX: ${{ matrix.target.cxx }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: install compiler
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y ${{ matrix.target.cc }}
|
||||
sudo apt-get install -y ${{ matrix.target.cxx }}
|
||||
|
||||
- name: install bake
|
||||
run: |
|
||||
git clone https://github.com/SanderMertens/bake
|
||||
make -C bake/build-$(uname)
|
||||
bake/bake setup
|
||||
|
||||
- name: build flecs (debug)
|
||||
run: |
|
||||
bake --strict --cfg debug
|
||||
|
||||
- name: build flecs (release)
|
||||
run: |
|
||||
bake --strict --cfg release
|
||||
|
||||
- name: build examples (debug)
|
||||
run: |
|
||||
bake examples/c --strict --cfg debug
|
||||
bake examples/cpp --strict --cfg debug
|
||||
bake examples/os_api --strict --cfg debug
|
||||
|
||||
- name: build examples (release)
|
||||
run: |
|
||||
bake examples/c --strict --cfg release
|
||||
bake examples/cpp --strict --cfg release
|
||||
bake examples/os_api --strict --cfg release
|
||||
|
||||
build-cmake:
|
||||
needs: build-linux
|
||||
runs-on: ${{ matrix.os }}
|
||||
timeout-minutes: 30
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ ubuntu-latest, macOS-latest ]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: create cmake build folders
|
||||
run: |
|
||||
mkdir cmake_build
|
||||
mkdir examples/c/cmake_build
|
||||
mkdir examples/cpp/cmake_build
|
||||
|
||||
- name: build flecs
|
||||
working-directory: cmake_build
|
||||
run: |
|
||||
cmake -DFLECS_STRICT=ON ..
|
||||
cmake --build . -j 4
|
||||
|
||||
- name: build c examples
|
||||
working-directory: examples/c/cmake_build
|
||||
run: |
|
||||
cmake -DFLECS_STRICT=ON ..
|
||||
cmake --build . -j 4
|
||||
|
||||
- name: build c++ examples
|
||||
working-directory: examples/cpp/cmake_build
|
||||
run: |
|
||||
cmake -DFLECS_STRICT=ON ..
|
||||
cmake --build . -j 4
|
||||
|
||||
build-cmake-windows:
|
||||
needs: build-windows
|
||||
runs-on: windows-latest
|
||||
timeout-minutes: 30
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
toolset: [default, v141, v142, clang-cl]
|
||||
include:
|
||||
- toolset: v141
|
||||
toolset_option: -T"v141"
|
||||
- toolset: v142
|
||||
toolset_option: -T"v142"
|
||||
- toolset: clang-cl
|
||||
toolset_option: -T"ClangCl"
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: create cmake build folders
|
||||
run: |
|
||||
mkdir cmake_build
|
||||
mkdir examples/c/cmake_build
|
||||
mkdir examples/cpp/cmake_build
|
||||
|
||||
- name: build flecs
|
||||
working-directory: cmake_build
|
||||
run: |
|
||||
cmake ${{ matrix.toolset_option }} -DFLECS_STRICT=ON ..
|
||||
cmake --build . -j 4
|
||||
|
||||
- name: build c examples
|
||||
working-directory: examples/c/cmake_build
|
||||
run: |
|
||||
cmake ${{ matrix.toolset_option }} -DFLECS_STRICT=ON ..
|
||||
cmake --build . -j 4
|
||||
|
||||
- name: build c++ examples
|
||||
working-directory: examples/cpp/cmake_build
|
||||
run: |
|
||||
cmake ${{ matrix.toolset_option }} -DFLECS_STRICT=ON ..
|
||||
cmake --build . -j 4
|
||||
|
||||
build-meson:
|
||||
needs: build-linux
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 30
|
||||
strategy:
|
||||
fail-fast: false
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: install meson
|
||||
run: |
|
||||
pip3 install meson
|
||||
pip3 install ninja==1.10.2.4
|
||||
|
||||
- name: create build folder
|
||||
run: meson meson_build
|
||||
|
||||
- name: build flecs
|
||||
working-directory: meson_build
|
||||
run: |
|
||||
meson compile
|
||||
|
||||
build-custom:
|
||||
needs: build-linux
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 30
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
compiler: [ gcc, clang ]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Install bake
|
||||
run: |
|
||||
git clone https://github.com/SanderMertens/bake
|
||||
make -C bake/build-$(uname)
|
||||
bake/bake setup
|
||||
|
||||
- name: FLECS_SOFT_ASSERT flag
|
||||
run: |
|
||||
bake rebuild --strict -D FLECS_SOFT_ASSERT
|
||||
bake rebuild --strict --cfg release -D FLECS_SOFT_ASSERT
|
||||
|
||||
- name: FLECS_KEEP_ASSERT flag
|
||||
run: |
|
||||
bake rebuild --strict -D FLECS_KEEP_ASSERT
|
||||
bake rebuild --strict --cfg release -D FLECS_KEEP_ASSERT
|
||||
|
||||
- name: no extensions
|
||||
run: |
|
||||
bake rebuild --strict -D FLECS_CUSTOM_BUILD
|
||||
bake rebuild --strict --cfg release -D FLECS_CUSTOM_BUILD
|
||||
|
||||
- name: FLECS_SYSTEM
|
||||
run: |
|
||||
bake rebuild --strict -D FLECS_CUSTOM_BUILD -D FLECS_SYSTEM
|
||||
bake rebuild --strict --cfg release -D FLECS_CUSTOM_BUILD -D FLECS_SYSTEM
|
||||
|
||||
- name: FLECS_PIPELINE
|
||||
run: |
|
||||
bake rebuild --strict -D FLECS_CUSTOM_BUILD -D FLECS_PIPELINE
|
||||
bake rebuild --strict --cfg release -D FLECS_CUSTOM_BUILD -D FLECS_PIPELINE
|
||||
|
||||
- name: FLECS_TIMER
|
||||
run: |
|
||||
bake rebuild --strict -D FLECS_CUSTOM_BUILD -D FLECS_TIMER
|
||||
bake rebuild --strict --cfg release -D FLECS_CUSTOM_BUILD -D FLECS_TIMER
|
||||
|
||||
- name: FLECS_MODULE
|
||||
run: |
|
||||
bake rebuild --strict -D FLECS_CUSTOM_BUILD -D FLECS_MODULE
|
||||
bake rebuild --strict --cfg release -D FLECS_CUSTOM_BUILD -D FLECS_MODULE
|
||||
|
||||
- name: FLECS_SNAPSHOT
|
||||
run: |
|
||||
bake rebuild --strict -D FLECS_CUSTOM_BUILD -D FLECS_SNAPSHOT
|
||||
bake rebuild --strict --cfg release -D FLECS_CUSTOM_BUILD -D FLECS_SNAPSHOT
|
||||
|
||||
- name: FLECS_STATS
|
||||
run: |
|
||||
bake rebuild --strict -D FLECS_CUSTOM_BUILD -D FLECS_STATS
|
||||
bake rebuild --strict --cfg release -D FLECS_CUSTOM_BUILD -D FLECS_STATS
|
||||
|
||||
- name: FLECS_PARSER
|
||||
run: |
|
||||
bake rebuild --strict -D FLECS_CUSTOM_BUILD -D FLECS_PARSER
|
||||
bake rebuild --strict --cfg release -D FLECS_CUSTOM_BUILD -D FLECS_PARSER
|
||||
|
||||
- name: FLECS_PLECS
|
||||
run: |
|
||||
bake rebuild --strict -D FLECS_CUSTOM_BUILD -D FLECS_PLECS
|
||||
bake rebuild --strict --cfg release -D FLECS_CUSTOM_BUILD -D FLECS_PLECS
|
||||
|
||||
- name: FLECS_META
|
||||
run: |
|
||||
bake rebuild --strict -D FLECS_CUSTOM_BUILD -D FLECS_META
|
||||
bake rebuild --strict --cfg release -D FLECS_CUSTOM_BUILD -D FLECS_META
|
||||
|
||||
- name: FLECS_META_C
|
||||
run: |
|
||||
bake rebuild --strict -D FLECS_CUSTOM_BUILD -D FLECS_META_C
|
||||
bake rebuild --strict --cfg release -D FLECS_CUSTOM_BUILD -D FLECS_META_C
|
||||
|
||||
- name: FLECS_EXPR
|
||||
run: |
|
||||
bake rebuild --strict -D FLECS_CUSTOM_BUILD -D FLECS_EXPR
|
||||
bake rebuild --strict --cfg release -D FLECS_CUSTOM_BUILD -D FLECS_EXPR
|
||||
|
||||
- name: FLECS_JSON
|
||||
run: |
|
||||
bake rebuild --strict -D FLECS_CUSTOM_BUILD -D FLECS_JSON
|
||||
bake rebuild --strict --cfg release -D FLECS_CUSTOM_BUILD -D FLECS_JSON
|
||||
|
||||
- name: FLECS_DOC
|
||||
run: |
|
||||
bake rebuild --strict -D FLECS_CUSTOM_BUILD -D FLECS_DOC
|
||||
bake rebuild --strict --cfg release -D FLECS_CUSTOM_BUILD -D FLECS_DOC
|
||||
|
||||
- name: FLECS_COREDOC
|
||||
run: |
|
||||
bake rebuild --strict -D FLECS_CUSTOM_BUILD -D FLECS_COREDOC
|
||||
bake rebuild --strict --cfg release -D FLECS_CUSTOM_BUILD -D FLECS_COREDOC
|
||||
|
||||
- name: FLECS_LOG
|
||||
run: |
|
||||
bake rebuild --strict -D FLECS_CUSTOM_BUILD -D FLECS_LOG
|
||||
bake rebuild --strict --cfg release -D FLECS_CUSTOM_BUILD -D FLECS_LOG
|
||||
|
||||
- name: FLECS_APP
|
||||
run: |
|
||||
bake rebuild --strict -D FLECS_CUSTOM_BUILD -D FLECS_APP
|
||||
bake rebuild --strict --cfg release -D FLECS_CUSTOM_BUILD -D FLECS_APP
|
||||
|
||||
- name: FLECS_OS_API_IMPL
|
||||
run: |
|
||||
bake rebuild --strict -D FLECS_CUSTOM_BUILD -D FLECS_OS_API_IMPL
|
||||
bake rebuild --strict --cfg release -D FLECS_CUSTOM_BUILD -D FLECS_OS_API_IMPL
|
||||
|
||||
- name: FLECS_HTTP
|
||||
run: |
|
||||
bake rebuild --strict -D FLECS_CUSTOM_BUILD -D FLECS_HTTP
|
||||
bake rebuild --strict --cfg release -D FLECS_CUSTOM_BUILD -D FLECS_HTTP
|
||||
|
||||
- name: FLECS_REST
|
||||
run: |
|
||||
bake rebuild --strict -D FLECS_CUSTOM_BUILD -D FLECS_REST
|
||||
bake rebuild --strict --cfg release -D FLECS_CUSTOM_BUILD -D FLECS_REST
|
||||
|
||||
- name: FLECS_NO_LOG
|
||||
run: |
|
||||
bake rebuild --strict -D FLECS_NO_LOG
|
||||
bake rebuild --strict --cfg release -D FLECS_NO_LOG
|
||||
|
||||
- name: FLECS_DEFAULT
|
||||
run: |
|
||||
bake rebuild --strict
|
||||
bake rebuild --strict --cfg release
|
||||
|
||||
- name: custom_build tests
|
||||
run: |
|
||||
bake rebuild test/custom_builds --strict
|
||||
bake runall test/custom_builds
|
||||
|
||||
build-amalgamated:
|
||||
needs: build-linux
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 30
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
compiler: [ gcc, clang ]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: build flecs
|
||||
run: ${{ matrix.compiler }} flecs.c --shared -fPIC -pedantic -Wall -Wextra -Wno-unused-parameter -Werror -Wshadow -Wconversion -Wno-missing-field-initializers
|
||||
|
||||
build-scan-build:
|
||||
needs: build-linux
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 30
|
||||
strategy:
|
||||
fail-fast: false
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: install clang-build
|
||||
run: |
|
||||
sudo apt-get install -y clang-tools
|
||||
|
||||
- name: install bake
|
||||
run: |
|
||||
git clone https://github.com/SanderMertens/bake
|
||||
make -C bake/build-$(uname)
|
||||
bake/bake setup
|
||||
|
||||
- name: run scan-build
|
||||
run: |
|
||||
scan-build --status-bugs bake
|
||||
|
||||
test-c-unix:
|
||||
needs: [build-linux, build-macos]
|
||||
runs-on: ${{ matrix.os }}
|
||||
timeout-minutes: 30
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ ubuntu-latest, macOS-latest ]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: compiler version
|
||||
run: |
|
||||
gcc --version
|
||||
clang --version
|
||||
|
||||
- name: install bake
|
||||
run: |
|
||||
git clone https://github.com/SanderMertens/bake
|
||||
make -C bake/build-$(uname)
|
||||
bake/bake setup
|
||||
|
||||
- name: build flecs
|
||||
run: bake --strict
|
||||
|
||||
- name: test api
|
||||
run: bake run test/api -- -j 8
|
||||
|
||||
- name: test addons
|
||||
run: bake run test/addons -- -j 8
|
||||
|
||||
- name: test meta
|
||||
run: bake run test/meta -- -j 8
|
||||
|
||||
- name: test collections
|
||||
run: bake run test/collections -- -j 8
|
||||
|
||||
test-cpp-unix:
|
||||
needs: [build-linux]
|
||||
runs-on: ${{ matrix.target.os }}
|
||||
timeout-minutes: 30
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
target:
|
||||
- { os: ubuntu-20.04, cc: gcc-9, cxx: g++-9 }
|
||||
- { os: ubuntu-20.04, cc: gcc-10, cxx: g++-10 }
|
||||
- { os: ubuntu-20.04, cc: gcc-11, cxx: g++-11 }
|
||||
- { os: ubuntu-latest, cc: gcc-12, cxx: g++-12 }
|
||||
- { os: ubuntu-latest, cc: gcc-13, cxx: g++-13 }
|
||||
- { os: ubuntu-20.04, cc: clang-8, cxx: clang++-8 }
|
||||
- { os: ubuntu-20.04, cc: clang-9, cxx: clang++-9 }
|
||||
- { os: ubuntu-20.04, cc: clang-10, cxx: clang++-10 }
|
||||
- { os: ubuntu-20.04, cc: clang-11, cxx: clang++-11 }
|
||||
- { os: ubuntu-20.04, cc: clang-12, cxx: clang++-12 }
|
||||
- { os: ubuntu-latest, cc: clang-13, cxx: clang++-13 }
|
||||
- { os: ubuntu-latest, cc: clang-14, cxx: clang++-14 }
|
||||
- { os: ubuntu-latest, cc: clang-15, cxx: clang++-15 }
|
||||
|
||||
env:
|
||||
CC: ${{ matrix.target.cc }}
|
||||
CXX: ${{ matrix.target.cxx }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: install compiler
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y ${{ matrix.target.cc }}
|
||||
sudo apt-get install -y ${{ matrix.target.cxx }}
|
||||
|
||||
- name: compiler version
|
||||
run: |
|
||||
${{ matrix.target.cc }} --version
|
||||
${{ matrix.target.cxx }} --version
|
||||
|
||||
- name: install bake
|
||||
run: |
|
||||
git clone https://github.com/SanderMertens/bake
|
||||
make -C bake/build-$(uname)
|
||||
bake/bake setup
|
||||
|
||||
- name: build flecs
|
||||
run: bake --strict
|
||||
|
||||
- name: test c++
|
||||
run: bake run test/cpp_api -- -j 8
|
||||
|
||||
test-cpp-macos:
|
||||
needs: [build-macos]
|
||||
runs-on: ${{ matrix.os.version }}
|
||||
timeout-minutes: 30
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os:
|
||||
- { version: macOS-11, xcode: '11.7' }
|
||||
- { version: macOS-11, xcode: '12.4' }
|
||||
- { version: macOS-11, xcode: '13.0' }
|
||||
- { version: macOS-12, xcode: '13.1' }
|
||||
- { version: macOS-12, xcode: '14.0' }
|
||||
|
||||
env:
|
||||
CC: clang
|
||||
CXX: clang++
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- uses: maxim-lobanov/setup-xcode@v1
|
||||
with:
|
||||
xcode-version: ${{ matrix.os.xcode }}
|
||||
|
||||
- name: compiler version
|
||||
run: |
|
||||
clang --version
|
||||
|
||||
- name: install bake
|
||||
run: |
|
||||
git clone https://github.com/SanderMertens/bake
|
||||
make -C bake/build-$(uname)
|
||||
bake/bake setup
|
||||
|
||||
- name: build flecs
|
||||
run: bake --strict
|
||||
|
||||
- name: test c++
|
||||
run: bake run test/cpp_api -- -j 8
|
||||
|
||||
test-windows:
|
||||
needs: build-windows
|
||||
runs-on: windows-latest
|
||||
timeout-minutes: 30
|
||||
strategy:
|
||||
fail-fast: false
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: ilammy/msvc-dev-cmd@v1
|
||||
- name: install bake
|
||||
run: |
|
||||
git clone https://github.com/SanderMertens/bake
|
||||
cd bake\build-Windows
|
||||
nmake
|
||||
cd ..
|
||||
./bake setup --local
|
||||
|
||||
- name: build flecs
|
||||
run: bake/bake
|
||||
|
||||
- name: test api
|
||||
run: bake/bake run test\api -- -j 8
|
||||
|
||||
- name: test addons
|
||||
run: bake/bake run test\addons -- -j 8
|
||||
|
||||
- name: test meta
|
||||
run: bake/bake run test\meta -- -j 8
|
||||
|
||||
- name: test collections
|
||||
run: bake/bake run test\collections -- -j 8
|
||||
|
||||
- name: test c++
|
||||
run: bake/bake run test\cpp_api -- -j 8
|
||||
|
||||
test-msys:
|
||||
runs-on: windows-latest
|
||||
timeout-minutes: 30
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- { sys: mingw64 }
|
||||
- { sys: mingw32 }
|
||||
- { sys: ucrt64 }
|
||||
- { sys: clang64 }
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: msys2 {0}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: msys2/setup-msys2@v2
|
||||
with:
|
||||
msystem: ${{matrix.sys}}
|
||||
update: true
|
||||
install: >-
|
||||
curl
|
||||
git
|
||||
pacboy: >-
|
||||
toolchain:p
|
||||
cmake:p
|
||||
|
||||
- name: install bake
|
||||
run: |
|
||||
cp `which mingw32-make` /usr/bin/make
|
||||
git clone https://github.com/SanderMertens/bake
|
||||
make -C bake/build-Mingw
|
||||
bake/bake setup
|
||||
|
||||
- name: build flecs
|
||||
run: bake/bake --strict
|
||||
|
||||
- name: test api
|
||||
run: bake/bake run test/api -- -j 8
|
||||
|
||||
- name: test addons
|
||||
run: bake/bake run test/addons -- -j 8
|
||||
|
||||
- name: test meta
|
||||
run: bake/bake run test/meta -- -j 8
|
||||
|
||||
- name: test collections
|
||||
run: bake/bake run test/collections -- -j 8
|
||||
|
||||
- name: test c++
|
||||
run: bake/bake run test/cpp_api -- -j 8
|
||||
|
||||
test-sanitized-api:
|
||||
needs: [ build-linux ]
|
||||
runs-on: ${{ matrix.os }}
|
||||
timeout-minutes: 30
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ ubuntu-latest ]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: install bake
|
||||
run: |
|
||||
git clone https://github.com/SanderMertens/bake
|
||||
make -C bake/build-$(uname)
|
||||
bake/bake setup
|
||||
|
||||
- name: build flecs
|
||||
run: bake --strict
|
||||
|
||||
- name: run tests
|
||||
run: |
|
||||
bake run test/api --cfg sanitize -- -j 8
|
||||
|
||||
test-sanitized-addons:
|
||||
needs: [ build-linux ]
|
||||
runs-on: ${{ matrix.os }}
|
||||
timeout-minutes: 30
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ ubuntu-latest ]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: install bake
|
||||
run: |
|
||||
git clone https://github.com/SanderMertens/bake
|
||||
make -C bake/build-$(uname)
|
||||
bake/bake setup
|
||||
|
||||
- name: build flecs
|
||||
run: bake --strict
|
||||
|
||||
- name: run tests
|
||||
run: |
|
||||
bake run test/addons --cfg sanitize -- -j 8
|
||||
|
||||
test-sanitized-meta:
|
||||
needs: [ build-linux ]
|
||||
runs-on: ${{ matrix.os }}
|
||||
timeout-minutes: 30
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ ubuntu-latest ]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: install bake
|
||||
run: |
|
||||
git clone https://github.com/SanderMertens/bake
|
||||
make -C bake/build-$(uname)
|
||||
bake/bake setup
|
||||
|
||||
- name: build flecs
|
||||
run: bake --strict
|
||||
|
||||
- name: run tests
|
||||
run: |
|
||||
bake run test/meta --cfg sanitize -- -j 8
|
||||
|
||||
test-sanitized-collections:
|
||||
needs: [ build-linux ]
|
||||
runs-on: ${{ matrix.os }}
|
||||
timeout-minutes: 30
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ ubuntu-latest ]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: install bake
|
||||
run: |
|
||||
git clone https://github.com/SanderMertens/bake
|
||||
make -C bake/build-$(uname)
|
||||
bake/bake setup
|
||||
|
||||
- name: build flecs
|
||||
run: bake --strict
|
||||
|
||||
- name: run tests
|
||||
run: |
|
||||
bake run test/collections --cfg sanitize -- -j 8
|
||||
|
||||
test-sanitized-cpp_api:
|
||||
needs: [ build-linux ]
|
||||
runs-on: ${{ matrix.os }}
|
||||
timeout-minutes: 30
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ ubuntu-latest ]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: install bake
|
||||
run: |
|
||||
git clone https://github.com/SanderMertens/bake
|
||||
make -C bake/build-$(uname)
|
||||
bake/bake setup
|
||||
|
||||
- name: build flecs
|
||||
run: bake --strict
|
||||
|
||||
- name: run tests
|
||||
run: |
|
||||
bake run test/cpp_api --cfg sanitize -- -j 8
|
||||
|
||||
test-cmake:
|
||||
needs: [ build-linux, build-macos ]
|
||||
runs-on: ${{ matrix.os }}
|
||||
timeout-minutes: 30
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ ubuntu-latest, macOS-latest ]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: clone bake
|
||||
run: |
|
||||
git clone https://github.com/SanderMertens/bake
|
||||
|
||||
- name: build flecs & tests
|
||||
run: |
|
||||
cmake -DFLECS_TESTS=ON -DBAKE_DIRECTORY=bake
|
||||
cmake --build . -j 4
|
||||
|
||||
- name: run tests
|
||||
run: |
|
||||
ctest -C Debug --verbose
|
||||
Reference in New Issue
Block a user