ci(workflow): run cmake, build script, and tests in parallel
This commit is contained in:
@@ -5,7 +5,7 @@ on:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
linux-build-and-test:
|
||||
cmake-build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
@@ -15,30 +15,51 @@ jobs:
|
||||
- name: Install build tools
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y build-essential
|
||||
sudo apt-get install -y build-essential cmake ninja-build
|
||||
|
||||
- name: Build demo
|
||||
- name: Configure CMake build
|
||||
run: |
|
||||
mkdir -p demo/build
|
||||
gcc -std=c11 -Wall -Wextra -pedantic \
|
||||
-Iinclude \
|
||||
demo/main.c \
|
||||
src/ikv.c \
|
||||
src/loaders/ikv1.c \
|
||||
src/loaders/ikv2.c \
|
||||
-o demo/build/ikv_demo
|
||||
cmake -S . -B build -G Ninja
|
||||
|
||||
- name: Build unit tests
|
||||
- name: Build with CMake
|
||||
run: |
|
||||
mkdir -p demo/build
|
||||
gcc -std=c11 -Wall -Wextra -pedantic \
|
||||
-DIKV_TESTING \
|
||||
-Iinclude \
|
||||
demo/unit_test.c \
|
||||
src/ikv.c \
|
||||
src/loaders/ikv1.c \
|
||||
src/loaders/ikv2.c \
|
||||
-o demo/build/ikv_tests
|
||||
cmake --build build
|
||||
|
||||
build-script:
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up MinGW
|
||||
uses: msys2/setup-msys2@v2
|
||||
with:
|
||||
msystem: MINGW64
|
||||
update: true
|
||||
install: mingw-w64-x86_64-gcc
|
||||
|
||||
- name: Run batch build script
|
||||
shell: cmd
|
||||
run: demo\build.bat
|
||||
|
||||
unit-tests:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install build tools
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y build-essential cmake ninja-build
|
||||
|
||||
- name: Configure unit tests
|
||||
run: |
|
||||
cmake -S . -B build-tests -G Ninja -DIKV_BUILD_DEMOS=OFF -DIKV_BUILD_TESTS=ON
|
||||
|
||||
- name: Run unit tests
|
||||
run: ./demo/build/ikv_tests
|
||||
run: |
|
||||
cmake --build build-tests
|
||||
ctest --test-dir build-tests --output-on-failure
|
||||
|
||||
Reference in New Issue
Block a user