Skip to content

Add CMake build to repo, integrate with CI#2791

Open
helsaawy wants to merge 1 commit into
microsoft:mainfrom
helsaawy:cmake
Open

Add CMake build to repo, integrate with CI#2791
helsaawy wants to merge 1 commit into
microsoft:mainfrom
helsaawy:cmake

Conversation

@helsaawy

Copy link
Copy Markdown
Contributor

Use CMake to codify common repo actions (e.g., go module dependency management, code gen, linting, building).

Currently initial sketch/outline of work, focused on Golang on Windows and integrating with the GH CI; will need to add C binaries, building on Linux, integrating with the (Linux) Makefile for building the rootfs, running tests, better tracking of proto source files, compiling manifests, etc.

Add cmake\FindGo.cmake to check that Golang (and golangci-lint) is available.

Update default version used by scripts/New-ResourceObjectFile.ps1 to 0.0.1 instead of 1.0.0, and downgrade errors about missing VERSION file to warnings, since GH CI does not checkout git tags.

@helsaawy helsaawy requested a review from a team as a code owner June 24, 2026 15:32
Use CMake to codify common repo actions (e.g., go module dependency
management, code gen, linting, building).

Currently initial sketch/outline of work, focused on Golang on Windows
and integrating with the GH CI; will need to add C binaries, building on
Linux, integrating with the (Linux) Makefile for building the rootfs,
running tests, better tracking of proto source files, compiling
manifests, etc.

Add `cmake\FindGo.cmake` to check that Golang (and `golangci-lint`) is
available.

Update default version used by `scripts/New-ResourceObjectFile.ps1` to
`0.0.1` instead of `1.0.0`, and downgrade errors about missing VERSION
file to warnings, since GH CI does not checkout git tags.

Signed-off-by: Hamza El-Saawy <hamzaelsaawy@microsoft.com>
Comment thread .github/workflows/ci.yml
securitypolicy
uvmboot.exe
zapdir.exe
${{ github.workspace }}/out/x64-release/bin/*

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Err. I like the explicit list personally. We dont want to publish every bin right?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i thought we did try to update it with new binaries to, at the very least, verify they build without issue?

Comment thread .github/workflows/ci.yml
exit $LASTEXITCODE
}

protos:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why only 2022?

Comment thread cmake/FindGo.cmake
Comment thread scripts/New-ResourceObjectFile.ps1
Comment thread test/CMakeLists.txt
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.

2 participants