diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..5e7066b --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,61 @@ +name: CI + +on: + push: + branches: [ master, main ] + paths-ignore: + - .editorconfig + - .gitignore + - '*.md' + pull_request: + branches: [ master, main ] + paths-ignore: + - .editorconfig + - .gitignore + - '*.md' + workflow_dispatch: + +jobs: + # Header-only validation across platforms + header-validation: + name: Header validation on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + + strategy: + fail-fast: true + matrix: + os: [ubuntu-latest] + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Configure CMake + run: cmake -B build -DKMTEST_BUILD_SAMPLES=OFF + + - name: Build + run: cmake --build build + + # Windows specific builds (kernel mode samples require WDK) + windows-build: + name: Windows Build ${{ matrix.platform }}-${{ matrix.configuration }} + runs-on: windows-2022 + + strategy: + fail-fast: true + matrix: + platform: [x64] + configuration: [Debug, Release] + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup MSBuild + uses: microsoft/setup-msbuild@v2 + + - name: Build samples + shell: powershell + run: | + # Build the solution (may fail for now, but we'll fix it later) + msbuild samples\Samples.sln /p:Configuration=${{ matrix.configuration }} /p:Platform=${{ matrix.platform }} /m \ No newline at end of file diff --git a/README.md b/README.md index f5daea1..3c697fe 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # KmTest -Kernel-mode C++ unit testing framework in BDD-style [![Build status](https://ci.appveyor.com/api/projects/status/oh90njhd50dfwco0/branch/master?svg=true)](https://ci.appveyor.com/project/SergiusTheBest/kmtest/branch/master) +Kernel-mode C++ unit testing framework in BDD-style [![CI](https://github.com/SergiusTheBest/kmtest/actions/workflows/ci.yml/badge.svg)](https://github.com/SergiusTheBest/kmtest/actions/workflows/ci.yml) - [Introduction](#introduction) - [Features](#features) diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index f7f0805..0000000 --- a/appveyor.yml +++ /dev/null @@ -1,18 +0,0 @@ -image: Visual Studio 2019 - -configuration: -- Debug -- Release - -platform: - - x86 - - x64 - -matrix: - fast_finish: true - -shallow_clone: true - -build: - project: samples\Samples.sln - verbosity: minimal \ No newline at end of file