Skip to content

Take the heads' build and packaging from PlatformHeads - #51

Merged
SimonCropp merged 2 commits into
mainfrom
platformheads
Oct 11, 2026
Merged

SimonCropp merged 2 commits into
mainfrom
platformheads

Conversation

@SimonCropp

Copy link
Copy Markdown
Owner

BuildMonitor's native build was a copy of DiffEngine's, and fixes made to that copy did not reach this one (#47 and #48 were three of them). PlatformHeads is the one copy, and this takes its 0.1.0.

What changes

  • build-native.yml calls PlatformHeads' reusable workflow in place of the jobs it had.
  • native/CMakeLists.txt fetches its CMake module, which pins raylib and Dear ImGui, switches off the raylib 6.0 options and links the library. The formats, flags and settings are the ones this file had.
  • BuildMonitor.csproj lists a PlatformHead for each RID, and the package's targets publish and bundle them in place of PublishHeads, CopyHeadsToOutput and AddHeadsToPackage. The native head sets PlatformHeadsNativeRuntimes in place of its own runtimes items. BM0001 and BM0002 become PH0001 and PH0002.
  • native/build-linux.sh goes: the workflow carries the script, and PlatformHeads keeps it for running by hand.

Three pins name the one tag and move together: the workflow's uses:, the GIT_TAG in native/CMakeLists.txt, and PlatformHeads in Directory.Packages.props.

Checked

Nothing that ships should change, and locally nothing did:

  • Built in the manylinux container through the module at 0.1.0, the linux-x64 library is byte for byte the one committed.
  • A Release build has no warnings, and its package carries all six heads, each with its own native library and no other.
  • Packaging.Tests passes against the snapshot it already had, and BuildMonitor.Tests passes.

This branch's push is the first run of the reusable workflow's macOS and propose jobs. The names of the Build native checks change, since the jobs are now inside a called workflow.

BuildMonitor's native build was a copy of DiffEngine's, and fixes made to that
copy did not reach this one: a Linux library that needed glibc 2.38, a raylib
build whose window stayed blank, and libraries recorded as needed that a stock
Ubuntu lacks were each fixed there first and found again here. PlatformHeads
is the one copy, and this takes its 0.1.0 in the three forms it comes in:

- build-native.yml calls its reusable workflow in place of the jobs it had.
- native/CMakeLists.txt fetches its CMake module, which pins raylib and Dear
  ImGui, switches off the raylib 6.0 options and links the library. The
  formats, flags and settings are the ones this file had.
- BuildMonitor.csproj lists a PlatformHead for each RID and the package's
  targets publish and bundle them, in place of PublishHeads, CopyHeadsToOutput
  and AddHeadsToPackage. The native head sets PlatformHeadsNativeRuntimes in
  place of its own runtimes items. BM0001 and BM0002 are PH0001 and PH0002.

native/build-linux.sh goes, since the workflow carries the script and
PlatformHeads keeps it for running by hand.

Nothing that ships changes. Built in the container through the module, the
linux-x64 library is byte for byte the one committed, and the package a Release
build makes has the entries Packaging.Tests has on record.
That commit was meant to be the whole change and holds only the deletion of native/build-linux.sh: the path was named to git add after it had already been removed and staged, the add failed for every file, and the commit took what was staged. These are the workflow, the CMake file, the two projects, the package version and the notes its message describes.
@SimonCropp
SimonCropp merged commit 1a2e05e into main Oct 11, 2026
16 checks passed
@SimonCropp
SimonCropp deleted the platformheads branch October 11, 2026 06:21
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.

1 participant