List the Embree headers individually in binding.yml - #7
Merged
Conversation
The first CD run refused to publish:
- vendored: v4.4.1
- resolved: v4.4.1 (up to date)
- EmbreeGen/Headers/embree4 (c-header): updated
Result: sources changed.
::error::upstream moved and Evergine.Bindings.Embree/runtimes exists, but no
native artifacts were supplied
The release had not moved; the directory source had. A directory is compared by
hashing everything under its path, and this tree can never match upstream's:
include/embree4 also carries eight .isph files for ISPC that this binding does
not use, and it carries a rtcore_config.h that upstream does not have at all,
because CMake generates it.
So the comparison reported a change on every run with the release sitting still.
The visible cost is a CD that cannot publish. The quieter one is that
binding-updater would have read the same report every month, concluded upstream
moved, and opened a pull request regenerating nothing.
Listed one per header, each source is hashed as a single file, so what is not
listed is not compared. Verified all nine match upstream at v4.4.1.
API gate: additiveEvery symbol that existed still exists, unchanged. Nothing that compiled before stops compiling.
Enum and constant values are part of the measured surface: a renumbering keeps compiling and sends the wrong number to the driver, so it counts as a removal. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The first CD run refused to publish, and it was right to:
The release had not moved. The directory source had. A directory is compared by hashing
everything under its
path, and this tree can never match upstream's for two reasons:include/embree4also carries eight.isphfiles for ISPC that this binding does not use, andit carries a
rtcore_config.hthat upstream does not have at all, because CMake generates it.The visible cost was a CD that could not publish. The quieter one is that
binding-updaterwould have read that same report every month, concluded upstream had moved, and opened a pull
request that regenerated nothing.
Listing one entry per header makes each source hash as a single file, so what is not listed is
simply not compared —
rtcore_config.hincluded. Verified all nine match upstream atv4.4.1byte for byte.