Skip to content

Commit

Permalink
Run testsuite on msys/mingw targets
Browse files Browse the repository at this point in the history
  • Loading branch information
SanderMertens committed Aug 6, 2023
1 parent 8db075f commit 13c0310
Show file tree
Hide file tree
Showing 154 changed files with 28,874 additions and 28,797 deletions.
71 changes: 62 additions & 9 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,10 +77,10 @@ jobs:
fail-fast: false
matrix:
include:
- { sys: mingw64, cmake_arg: -G "MinGW Makefiles" }
- { sys: mingw32, cmake_arg: -G "MinGW Makefiles" }
- { sys: ucrt64, cmake_arg: -G "MinGW Makefiles" }
- { sys: clang64, cmake_arg: -G "MinGW Makefiles" }
- { sys: mingw64 }
- { sys: mingw32 }
- { sys: ucrt64 }
- { sys: clang64 }

defaults:
run:
Expand All @@ -98,7 +98,6 @@ jobs:
pacboy: >-
toolchain:p
cmake:p
ninja:p
- name: create cmake build folders
run: |
Expand All @@ -109,19 +108,19 @@ jobs:
- name: build flecs
working-directory: cmake_build
run: |
cmake ${{ matrix.cmake_arg }} -DFLECS_STRICT=ON ..
cmake -G "MinGW Makefiles" -DFLECS_STRICT=ON ..
cmake --build . -j 4
- name: build c examples
working-directory: examples/c/cmake_build
run: |
cmake ${{ matrix.cmake_arg }} -DFLECS_STRICT=ON ..
cmake -G "MinGW Makefiles" -DFLECS_STRICT=ON ..
cmake --build . -j 4
- name: build c++ examples
working-directory: examples/cpp/cmake_build
run: |
cmake ${{ matrix.cmake_arg }} -DFLECS_STRICT=ON ..
cmake -G "MinGW Makefiles" -DFLECS_STRICT=ON ..
cmake --build . -j 4
build:
Expand Down Expand Up @@ -613,7 +612,7 @@ jobs:
./bake setup --local
- name: build flecs
run: bake/bake --strict
run: bake/bake

- name: test api
run: bake/bake run test\api -- -j 8
Expand All @@ -630,6 +629,60 @@ jobs:
- 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 }}
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Flecs is a fast and lightweight Entity Component System that lets you build game
- Automatic component registration that works out of the box across shared libraries/DLLs
- Write free functions with [queries](https://github.com/SanderMertens/flecs/tree/master/examples/cpp/queries/basics) or run code automatically in [systems](https://github.com/SanderMertens/flecs/tree/master/examples/cpp/systems/pipeline)
- Run games on multiple CPU cores with a fast lockless scheduler
- Compiles warning-free on 8 compilers on all major platforms, with [CI](https://github.com/SanderMertens/flecs/actions) running more than 6000 tests
- Verified on all major compilers and platforms with [CI](https://github.com/SanderMertens/flecs/actions) running more than 6000 tests
- Integrated [reflection framework](https://www.flecs.dev/flecs/group__c__addons__meta.html) with [JSON serializer](https://github.com/SanderMertens/flecs/tree/master/examples/cpp/reflection/basics_json) and support for [runtime components](https://github.com/SanderMertens/flecs/tree/master/examples/cpp/reflection/runtime_component)
- [Unit annotations](https://github.com/SanderMertens/flecs/tree/master/examples/cpp/reflection/units) for components
- Powerful [query language](https://github.com/SanderMertens/flecs/tree/master/examples/cpp/rules) with support for [joins](https://github.com/SanderMertens/flecs/tree/master/examples/cpp/rules/setting_variables) and [inheritance](https://github.com/SanderMertens/flecs/tree/master/examples/cpp/rules/component_inheritance)
Expand Down
48 changes: 24 additions & 24 deletions examples/c/entities/basics/include/basics/bake_config.h
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
/*
)
(.)
.|.
| |
_.--| |--._
.-'; ;`-'& ; `&.
\ & ; & &_/
|"""---...---"""|
\ | | | | | | | /
`---.|.|.|.---'
* This file is generated by bake.lang.c for your convenience. Headers of
* dependencies will automatically show up in this file. Include bake_config.h
* in your main project file. Do not edit! */

#ifndef BASICS_BAKE_CONFIG_H
#define BASICS_BAKE_CONFIG_H

/* Headers of public dependencies */
#include <flecs.h>

#endif

/*
)
(.)
.|.
| |
_.--| |--._
.-'; ;`-'& ; `&.
\ & ; & &_/
|"""---...---"""|
\ | | | | | | | /
`---.|.|.|.---'
* This file is generated by bake.lang.c for your convenience. Headers of
* dependencies will automatically show up in this file. Include bake_config.h
* in your main project file. Do not edit! */

#ifndef BASICS_BAKE_CONFIG_H
#define BASICS_BAKE_CONFIG_H

/* Headers of public dependencies */
#include <flecs.h>

#endif
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
/*
)
(.)
.|.
| |
_.--| |--._
.-'; ;`-'& ; `&.
\ & ; & &_/
|"""---...---"""|
\ | | | | | | | /
`---.|.|.|.---'
* This file is generated by bake.lang.c for your convenience. Headers of
* dependencies will automatically show up in this file. Include bake_config.h
* in your main project file. Do not edit! */

#ifndef FWD_DECLARE_COMPONENT_BAKE_CONFIG_H
#define FWD_DECLARE_COMPONENT_BAKE_CONFIG_H

/* Headers of public dependencies */
#include <flecs.h>

#endif

/*
)
(.)
.|.
| |
_.--| |--._
.-'; ;`-'& ; `&.
\ & ; & &_/
|"""---...---"""|
\ | | | | | | | /
`---.|.|.|.---'
* This file is generated by bake.lang.c for your convenience. Headers of
* dependencies will automatically show up in this file. Include bake_config.h
* in your main project file. Do not edit! */

#ifndef FWD_DECLARE_COMPONENT_BAKE_CONFIG_H
#define FWD_DECLARE_COMPONENT_BAKE_CONFIG_H

/* Headers of public dependencies */
#include <flecs.h>

#endif
48 changes: 24 additions & 24 deletions examples/c/entities/hierarchy/include/hierarchy/bake_config.h
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
/*
)
(.)
.|.
| |
_.--| |--._
.-'; ;`-'& ; `&.
\ & ; & &_/
|"""---...---"""|
\ | | | | | | | /
`---.|.|.|.---'
* This file is generated by bake.lang.c for your convenience. Headers of
* dependencies will automatically show up in this file. Include bake_config.h
* in your main project file. Do not edit! */

#ifndef HIERARCHY_BAKE_CONFIG_H
#define HIERARCHY_BAKE_CONFIG_H

/* Headers of public dependencies */
#include <flecs.h>

#endif

/*
)
(.)
.|.
| |
_.--| |--._
.-'; ;`-'& ; `&.
\ & ; & &_/
|"""---...---"""|
\ | | | | | | | /
`---.|.|.|.---'
* This file is generated by bake.lang.c for your convenience. Headers of
* dependencies will automatically show up in this file. Include bake_config.h
* in your main project file. Do not edit! */

#ifndef HIERARCHY_BAKE_CONFIG_H
#define HIERARCHY_BAKE_CONFIG_H

/* Headers of public dependencies */
#include <flecs.h>

#endif
48 changes: 24 additions & 24 deletions examples/c/entities/hooks/include/hooks/bake_config.h
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
/*
)
(.)
.|.
| |
_.--| |--._
.-'; ;`-'& ; `&.
\ & ; & &_/
|"""---...---"""|
\ | | | | | | | /
`---.|.|.|.---'
* This file is generated by bake.lang.c for your convenience. Headers of
* dependencies will automatically show up in this file. Include bake_config.h
* in your main project file. Do not edit! */

#ifndef HOOKS_BAKE_CONFIG_H
#define HOOKS_BAKE_CONFIG_H

/* Headers of public dependencies */
#include <flecs.h>

#endif

/*
)
(.)
.|.
| |
_.--| |--._
.-'; ;`-'& ; `&.
\ & ; & &_/
|"""---...---"""|
\ | | | | | | | /
`---.|.|.|.---'
* This file is generated by bake.lang.c for your convenience. Headers of
* dependencies will automatically show up in this file. Include bake_config.h
* in your main project file. Do not edit! */

#ifndef HOOKS_BAKE_CONFIG_H
#define HOOKS_BAKE_CONFIG_H

/* Headers of public dependencies */
#include <flecs.h>

#endif
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
/*
)
(.)
.|.
| |
_.--| |--._
.-'; ;`-'& ; `&.
\ & ; & &_/
|"""---...---"""|
\ | | | | | | | /
`---.|.|.|.---'
* This file is generated by bake.lang.c for your convenience. Headers of
* dependencies will automatically show up in this file. Include bake_config.h
* in your main project file. Do not edit! */

#ifndef ITERATE_COMPONENTS_BAKE_CONFIG_H
#define ITERATE_COMPONENTS_BAKE_CONFIG_H

/* Headers of public dependencies */
#include <flecs.h>

#endif

/*
)
(.)
.|.
| |
_.--| |--._
.-'; ;`-'& ; `&.
\ & ; & &_/
|"""---...---"""|
\ | | | | | | | /
`---.|.|.|.---'
* This file is generated by bake.lang.c for your convenience. Headers of
* dependencies will automatically show up in this file. Include bake_config.h
* in your main project file. Do not edit! */

#ifndef ITERATE_COMPONENTS_BAKE_CONFIG_H
#define ITERATE_COMPONENTS_BAKE_CONFIG_H

/* Headers of public dependencies */
#include <flecs.h>

#endif
Loading

0 comments on commit 13c0310

Please sign in to comment.