From a3d91b3d81506da099e9137374078c987b570b8f Mon Sep 17 00:00:00 2001 From: Michele Caini Date: Tue, 24 Sep 2019 08:50:55 +0200 Subject: [PATCH] github actions --- .github/workflows/main.yml | 105 +++++++++++++++++++++++++++++++++++++ CMakeLists.txt | 2 + TODO | 6 +++ 3 files changed, 113 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000000..9499ca6469 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,105 @@ +name: EnTT CI + +on: [push, pull_request] + +jobs: + + linux: + timeout-minutes: 5 + + strategy: + matrix: + os: [ubuntu-18.04] + compiler: [g++, clang++] + + runs-on: ${{ matrix.os }} + + steps: + - uses: actions/checkout@v1 + - name: Compile tests + working-directory: build + env: + CXX: ${{ matrix.compiler }} + run: | + cmake -DBUILD_TESTING=ON -DBUILD_LIB=ON .. + make -j4 + - name: Run tests + working-directory: build + env: + CTEST_OUTPUT_ON_FAILURE: 1 + run: ctest --timeout 5 -C Debug -j4 + + coveralls: + timeout-minutes: 5 + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v1 + - name: Compile tests + working-directory: build + env: + CXXFLAGS: "-O0 --coverage -fno-inline -fno-inline-small-functions -fno-default-inline" + CXX: g++ + run: | + cmake -DBUILD_TESTING=ON -DBUILD_LIB=ON .. + make -j4 + - name: Run tests + working-directory: build + env: + CTEST_OUTPUT_ON_FAILURE: 1 + run: ctest --timeout 5 -C Debug -j4 + - name: Setup Python + uses: actions/setup-python@master + with: + version: 3.7 + - name: Update coveralls + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + pip install --upgrade wheel + pip install cpp-coveralls + coveralls --gcov gcov-7 --gcov-options '\-lp' --root . --build-root ./build --extension cpp --extension hpp --exclude ./deps --include ./src + + windows: + timeout-minutes: 5 + + strategy: + matrix: + os: [windows-2019, windows-2016] + include: + - os: windows-2019 + generator: Visual Studio 16 2019 + - os: windows-2016 + generator: Visual Studio 15 2017 + + runs-on: ${{ matrix.os }} + + steps: + - uses: actions/checkout@v1 + - name: Compile tests + working-directory: build + run: | + cmake -DBUILD_TESTING=ON -DBUILD_LIB=ON -DCMAKE_CXX_FLAGS=/W1 -G"${{ matrix.generator }}" .. + cmake --build . -j 4 + - name: Run tests + working-directory: build + env: + CTEST_OUTPUT_ON_FAILURE: 1 + run: ctest --timeout 5 -C Debug -j4 + + macos: + timeout-minutes: 5 + runs-on: macOS-10.14 + + steps: + - uses: actions/checkout@v1 + - name: Compile tests + working-directory: build + run: | + cmake -DBUILD_TESTING=ON -DBUILD_LIB=ON .. + make -j4 + - name: Run tests + working-directory: build + env: + CTEST_OUTPUT_ON_FAILURE: 1 + run: ctest --timeout 5 -C Debug -j4 diff --git a/CMakeLists.txt b/CMakeLists.txt index 951b0194bd..40c65f18f6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -222,6 +222,8 @@ endif() add_custom_target( entt_aob SOURCES + .github/workflows/main.yml + .github/FUNDING.yml appveyor.yml AUTHORS CONTRIBUTING.md diff --git a/TODO b/TODO index 0fdf51dde5..4466a182bd 100644 --- a/TODO +++ b/TODO @@ -33,3 +33,9 @@ TODO * multi component registry::remove and some others? * range based registry::remove and some others? * nested groups: AB/ABC/ABCD/... (hints: sort, check functions) + +* GH actions: + - deploy doc (github pages) on tags + - rebuild single file somehow, somewhere + - conan on tags + - code coverage