From 5db69d2b5f82a6d58e3dbcec66f254f2288f070c Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Wed, 7 Oct 2026 08:00:38 +0200 Subject: [PATCH] Take the natvis template from the PR in the amalgamation check The check ran generate_natvis.py from a develop checkout, which loads nlohmann_json.natvis.j2 from its own directory. A PR that changes the template was therefore checked against develop's template and always failed. Copy the PR's template next to the develop script before running it. Signed-off-by: Niels Lohmann --- .github/workflows/check_amalgamation.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/check_amalgamation.yml b/.github/workflows/check_amalgamation.yml index 2f234d8be..a497b4ce4 100644 --- a/.github/workflows/check_amalgamation.yml +++ b/.github/workflows/check_amalgamation.yml @@ -149,6 +149,13 @@ jobs: VERSION_MAJOR=$(grep -m1 'define NLOHMANN_JSON_VERSION_MAJOR' $ABI_MACROS | grep -o '[0-9]\+') VERSION_MINOR=$(grep -m1 'define NLOHMANN_JSON_VERSION_MINOR' $ABI_MACROS | grep -o '[0-9]\+') VERSION_PATCH=$(grep -m1 'define NLOHMANN_JSON_VERSION_PATCH' $ABI_MACROS | grep -o '[0-9]\+') + # The template is what this check verifies the committed natvis + # file against, so take it from this PR rather than from the + # develop checkout: generate_natvis.py loads the template from its + # own directory, and with develop's copy a PR that changes the + # template could never pass. Like the macro_builder step above, + # this only renders PR content in a job without credentials. + cp tools/generate_natvis/nlohmann_json.natvis.j2 $NATVIS_TOOL_DIR/ python3 $NATVIS_TOOL_DIR/generate_natvis.py --version "$VERSION_MAJOR.$VERSION_MINOR.$VERSION_PATCH" $MAIN_DIR - name: Build patch and check for differences