Skip to content

feat: track renderdoc_app.h and regenerate when it moves - #11

Merged
jcant0n merged 1 commit into
mainfrom
feat/tracked-cd
Aug 2, 2026
Merged

feat: track renderdoc_app.h and regenerate when it moves#11
jcant0n merged 1 commit into
mainfrom
feat/tracked-cd

Conversation

@jcant0n

@jcant0n jcant0n commented Aug 2, 2026

Copy link
Copy Markdown
Member

Pasa el CD de binding-simple-cd —que compila y publica lo que ya esté commiteado— a binding-tracked-cd, que lee binding.yml, trae el header de baldurk/renderdoc, regenera y publica solo si la API generada cambió. Con cron mensual, el mismo horario que los tres bindings XML.

uses: EvergineTeam/Evergine.Bindings/.github/workflows/binding-tracked-cd.yml@v1
schedule: [{ cron: '30 1 1 * *' }]

No hay inputs xml-*: el origen sale del manifiesto, que ya declara

kind: git-tree
repo: baldurk/renderdoc
ref: v1.x
remote-path: renderdoc/api/app/renderdoc_app.h
path: RenderDocGen/RenderDocGen/Headers/renderdoc_app.h

Primera vez para dos cosas

Es el primer binding generado desde un header C que funciona así, y el primer uso real del adaptador git-tree — hasta ahora solo se había ejecutado http-file, en los tres repos XML.

Y es el primero que corre la acción de fetch en Windows, que hasta v1.4.1 habría fallado: la acción tenía python3 hardcodeado, que en esos runners no existe.

Qué debe pasar en el primer run

El header vendorizado y el upstream son byte-idénticos (36.480 b). Así que:

Detect generated-code changes  →  "nothing changed"
Generate NuGets                →  skipped
Publish NuGet                  →  skipped

Publicar aquí sería un fallo, no un éxito. Es la prueba más barata posible del adaptador: un noop que cuesta una llamada HTTP.

Lo que se vigila especialmente es que no diga "cambió" teniendo bytes idénticos — sería el bucle de finales de línea que arregla v1.4.1, y significaría regenerar y publicar cada mes sin motivo.

🤖 Generated with Claude Code

Moves CD from binding-simple-cd, which builds and publishes whatever is
already committed, to binding-tracked-cd, which reads binding.yml,
fetches the header from baldurk/renderdoc, regenerates, and publishes
only when the generated API changed. Adds the monthly schedule the other
tracked bindings use.

This is the first binding generated from a C header to work this way,
and the first exercise of the git-tree adapter -- until now only
http-file had ever run, in the three XML repositories.

The header is currently byte-identical to upstream, so the first run
should report nothing changed and publish nothing. That is the intended
result and the cheapest possible test of the adapter: a noop that costs
one HTTP call.
@jcant0n
jcant0n merged commit 6fa0c38 into main Aug 2, 2026
1 check passed
@jcant0n
jcant0n deleted the feat/tracked-cd branch August 2, 2026 17:51
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