Skip to content

Add CI using GitHub Actions with Windows 2022, CMake, and multi-platform builds#19

Merged
SergiusTheBest merged 6 commits intomainfrom
copilot/fix-18
Jul 25, 2025
Merged

Add CI using GitHub Actions with Windows 2022, CMake, and multi-platform builds#19
SergiusTheBest merged 6 commits intomainfrom
copilot/fix-18

Conversation

Copy link
Contributor

Copilot AI commented Jul 25, 2025

This PR implements a comprehensive CI/CD pipeline using GitHub Actions to automate building and testing of the kf kernel foundation library.

Key Features

Multi-platform builds: The CI builds the library for both x64 and ARM64 architectures using a matrix strategy, ensuring compatibility across different Windows platforms.

Multi-configuration builds: Both Debug and Release configurations are built to catch configuration-specific issues early.

Optimized build process:

  • Uses CMake with parallel build capabilities (--parallel flag) for faster builds
  • Leverages windows-2022 runners for the latest Windows build environment
  • Fast-fail strategy ensures quick feedback on build failures

Flexible test handling: Added a new CMake option KF_BUILD_TESTS that allows building the core library independently of WDK-dependent tests. This ensures:

  • Core library builds are always reliable across all platforms
  • Test builds are attempted separately with experimental WDK installation
  • CI remains green even if WDK setup encounters issues

Build status visibility: Added a CI badge to the README that shows the current build status and links directly to the workflow results.

Technical Implementation

The workflow consists of two jobs:

  1. Core build job: Builds the header-only kf library for all platform/configuration combinations with strict fast-fail
  2. Test build job: Attempts to install WDK and build tests, with fallback strategies and error tolerance

Added comprehensive .gitignore to keep the repository clean from build artifacts and dependencies.

Workflow Structure

strategy:
  fail-fast: true
  matrix:
    config: [Debug, Release]
    platform: [x64, ARM64]

The CI triggers on pushes and pull requests to main/master branches, providing immediate feedback on code changes.

Fixes #18.


💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.

Copilot AI and others added 2 commits July 25, 2025 20:39
Co-authored-by: SergiusTheBest <4660722+SergiusTheBest@users.noreply.github.com>
Co-authored-by: SergiusTheBest <4660722+SergiusTheBest@users.noreply.github.com>
Copilot AI changed the title [WIP] Add CI using github actions Add CI using GitHub Actions with Windows 2022, CMake, and multi-platform builds Jul 25, 2025
Copilot AI requested a review from SergiusTheBest July 25, 2025 20:46
@belyshevdenis
Copy link
Collaborator

There is the issue about it: https://jira.dev.local/jira/projects/KF/issues/KF-2

…, and path excludes

Co-authored-by: SergiusTheBest <4660722+SergiusTheBest@users.noreply.github.com>
@SergiusTheBest
Copy link
Member

There is the issue about it: https://jira.dev.local/jira/projects/KF/issues/KF-2

@belyshevdenis Yes, testing how AI deals with it.

Co-authored-by: SergiusTheBest <4660722+SergiusTheBest@users.noreply.github.com>
…m directly

Co-authored-by: SergiusTheBest <4660722+SergiusTheBest@users.noreply.github.com>
Copilot AI requested a review from SergiusTheBest July 25, 2025 21:14
@SergiusTheBest SergiusTheBest marked this pull request as ready for review July 25, 2025 21:15
@SergiusTheBest SergiusTheBest merged commit 812335a into main Jul 25, 2025
2 checks passed
@SergiusTheBest SergiusTheBest deleted the copilot/fix-18 branch July 25, 2025 21:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add CI using github actions

3 participants