Skip to content

Commit a05df3e

Browse files
Migrate CI from AppVeyor to GitHub Actions (#18)
* Initial plan * Add GitHub Actions CI workflow to replace AppVeyor Co-authored-by: SergiusTheBest <[email protected]> * Remove appveyor.yml - complete migration to GitHub Actions Co-authored-by: SergiusTheBest <[email protected]> * Address CI workflow feedback: add README exclusions, simplify platforms, update to windows-2022, and build samples Co-authored-by: SergiusTheBest <[email protected]> * Update CI workflow: enable fail-fast and remove x86 platform Co-authored-by: SergiusTheBest <[email protected]> * Remove unnecessary platform mapping hack since x86 is no longer used Co-authored-by: SergiusTheBest <[email protected]> * Update CI workflow --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: SergiusTheBest <[email protected]> Co-authored-by: Sergey Podobry <[email protected]>
1 parent ffc2ff3 commit a05df3e

File tree

3 files changed

+62
-19
lines changed

3 files changed

+62
-19
lines changed

.github/workflows/ci.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [ master, main ]
6+
paths-ignore:
7+
- .editorconfig
8+
- .gitignore
9+
- '*.md'
10+
pull_request:
11+
branches: [ master, main ]
12+
paths-ignore:
13+
- .editorconfig
14+
- .gitignore
15+
- '*.md'
16+
workflow_dispatch:
17+
18+
jobs:
19+
# Header-only validation across platforms
20+
header-validation:
21+
name: Header validation on ${{ matrix.os }}
22+
runs-on: ${{ matrix.os }}
23+
24+
strategy:
25+
fail-fast: true
26+
matrix:
27+
os: [ubuntu-latest]
28+
29+
steps:
30+
- name: Checkout
31+
uses: actions/checkout@v4
32+
33+
- name: Configure CMake
34+
run: cmake -B build -DKMTEST_BUILD_SAMPLES=OFF
35+
36+
- name: Build
37+
run: cmake --build build
38+
39+
# Windows specific builds (kernel mode samples require WDK)
40+
windows-build:
41+
name: Windows Build ${{ matrix.platform }}-${{ matrix.configuration }}
42+
runs-on: windows-2022
43+
44+
strategy:
45+
fail-fast: true
46+
matrix:
47+
platform: [x64]
48+
configuration: [Debug, Release]
49+
50+
steps:
51+
- name: Checkout
52+
uses: actions/checkout@v4
53+
54+
- name: Setup MSBuild
55+
uses: microsoft/setup-msbuild@v2
56+
57+
- name: Build samples
58+
shell: powershell
59+
run: |
60+
# Build the solution (may fail for now, but we'll fix it later)
61+
msbuild samples\Samples.sln /p:Configuration=${{ matrix.configuration }} /p:Platform=${{ matrix.platform }} /m

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# KmTest
2-
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)
2+
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)
33

44
- [Introduction](#introduction)
55
- [Features](#features)

appveyor.yml

Lines changed: 0 additions & 18 deletions
This file was deleted.

0 commit comments

Comments
 (0)