From ca536eb9d6c71601bc378b9fb959e7a8aac0e959 Mon Sep 17 00:00:00 2001 From: jcant0n Date: Sat, 1 Aug 2026 23:42:57 +0200 Subject: [PATCH] chore: consume the bindings toolbox and declare the upstream manifest Repoints CI and CD from evergine-standards@v2 to Evergine.Bindings@v1. The toolbox holds byte-identical copies of those reusable workflows -- the only edit is that they resolve their composite actions from the toolbox instead of evergine-standards -- so this is expected to be a no-op, verified by comparing the produced package against the run that preceded it. Adds binding.yml, recording where the upstream specification comes from, how it is fetched and what the generator writes. Until now this repository declared its upstream nowhere a machine could read it, which is what has kept the binding from being maintainable automatically. sync-standards.yml is deliberately left pointing at evergine-standards: distributing LICENSE, the icon and the shared build scripts is not the toolbox its job. evergine-standards@v2 is untouched and remains the rollback path. --- .github/workflows/CD.yml | 2 +- .github/workflows/CI.yml | 2 +- binding.yml | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 binding.yml diff --git a/.github/workflows/CD.yml b/.github/workflows/CD.yml index 56eb429..996878b 100644 --- a/.github/workflows/CD.yml +++ b/.github/workflows/CD.yml @@ -17,7 +17,7 @@ on: jobs: cd: if: github.event_name != 'schedule' || github.ref == 'refs/heads/main' - uses: EvergineTeam/evergine-standards/.github/workflows/binding-simple-cd.yml@v2 + uses: EvergineTeam/Evergine.Bindings/.github/workflows/binding-simple-cd.yml@v1 with: generator-project: "MeshOptimizerGen/MeshOptimizerGen/MeshOptimizerGen.csproj" # Path to your generator .csproj generator-name: "MeshOptimizer" # Name of your generator executable diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index afc470a..d13d100 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -20,7 +20,7 @@ on: jobs: ci: - uses: EvergineTeam/evergine-standards/.github/workflows/binding-common-ci.yml@v2 + uses: EvergineTeam/Evergine.Bindings/.github/workflows/binding-common-ci.yml@v1 with: generator-project: "MeshOptimizerGen/MeshOptimizerGen/MeshOptimizerGen.csproj" # Path to your generator .csproj generator-name: "MeshOptimizer" # Name of your generator executable diff --git a/binding.yml b/binding.yml new file mode 100644 index 0000000..3a8a585 --- /dev/null +++ b/binding.yml @@ -0,0 +1,33 @@ +# Binding manifest — see https://github.com/EvergineTeam/Evergine.Bindings +# Schema: https://github.com/EvergineTeam/Evergine.Bindings/blob/main/binding.schema.json +toolbox: 1.0.0 + +package: + id: Evergine.Bindings.MeshOptimizer + project: MeshOptimizerGen/Evergine.Bindings.MeshOptimizer/Evergine.Bindings.MeshOptimizer.csproj + target-framework: net10.0 + runtime-identifier: linux-x64 + +upstream: + kind: git-tree + language: cpp + project: https://github.com/zeux/meshoptimizer + version-from: git-release + sources: + - repo: zeux/meshoptimizer + ref: master + remote-path: src/meshoptimizer.h + path: MeshOptimizerGen/MeshOptimizerGen/Headers/meshoptimizer.h + format: c-header + +generator: + project: MeshOptimizerGen/MeshOptimizerGen/MeshOptimizerGen.csproj + name: MeshOptimizer + output: + - MeshOptimizerGen/Evergine.Bindings.MeshOptimizer/Generated + +# NOTE — this package ships native binaries under Evergine.Bindings.MeshOptimizer/runtimes. +# The header and those binaries must come from the same upstream revision. `ref: master` +# is a moving target, so a header bump is only valid together with a native rebuild; +# binding-updater must label any such pull request `needs-human-review`. Pinning `ref` +# to a release tag would remove this hazard and is worth considering.