From 4aa34c9596a963b1af623f3e082303a5b1cd2a6e Mon Sep 17 00:00:00 2001 From: jcant0n Date: Mon, 3 Aug 2026 11:22:03 +0200 Subject: [PATCH] feat: gate agent pull requests on the public API delta --- .github/workflows/api-gate.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .github/workflows/api-gate.yml diff --git a/.github/workflows/api-gate.yml b/.github/workflows/api-gate.yml new file mode 100644 index 0000000..bfd136a --- /dev/null +++ b/.github/workflows/api-gate.yml @@ -0,0 +1,25 @@ +# Measures what a pull request does to the public API surface, and merges the +# binding updater's work when nothing anyone depends on has moved. +# +# The gate is the API delta rather than the size of the diff, because the two are +# uncorrelated here: the generator is a multiplier. A 41-line change to +# OpenGLSpecification.cs once produced 12,368 insertions and renamed public types. +# +# This package ships no native libraries, so there is no header-to-binary +# coherence to check -- the managed surface is the whole contract. + +name: API Gate + +on: + pull_request: + branches: [ "main" ] + +jobs: + api: + uses: EvergineTeam/Evergine.Bindings/.github/workflows/binding-api-gate.yml@v1 + with: + binding-project: "OpenGLGen/Evergine.Bindings.OpenGL/Evergine.Bindings.OpenGL.csproj" + auto-merge: true + app-client-id: ${{ vars.APP_CLIENT_ID }} + secrets: + APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}