8000 fix: usable archives on every platform; consumer-test every build (v3) by adityamukho · Pull Request #6 · project-minigraf/minigraf-c · GitHub
[go: up one dir, main page]

Skip to content

fix: usable archives on every platform; consumer-test every build (v3) - #6

Merged
adityamukho merged 2 commits into
v3from
ci/consumer-tests-v3
Oct 20, 2026
Merged

adityamukho merged 2 commits into
v3from
ci/consumer-tests-v3

Conversation

@adityamukho
Copy link
Copy Markdown
Contributor

The v3 counterpart of #5, cherry-picked with no conflicts. See #5 for the bugs fixed and the changes. The v3-only C smoke test (tests/c/etl_smoke.c) stays as it is.

🤖 Generated with Claude Code

https://claude.ai/code/session_01PtCdzbJMSS1V8qEPaJ4jXz

adityamukho and others added 2 commits October 20, 2026 22:37
…st every build

The Windows zip had no minigraf.dll.lib, so MSVC could not link against
it; no archive shipped the license files; the header sat at the root of
the Windows zip but under include/ elsewhere; Linux libraries needed the
build runner's glibc (2.34).

- package.yml builds the four release archives with one layout (library,
  minigraf.dll.lib on Windows, include/minigraf.h, licenses); Linux via
  cargo-zigbuild at glibc 2.17 with a floor check; macOS checks both
  universal2 slices.
- consumer-test/: run.sh unpacks this platform's archive, compiles the
  README quick start and contract.c (in memory, file-backed reopen,
  NULL plus minigraf_last_error for invalid Datalog) with cc, or cl and
  the import library on Windows, and runs them; local|registry.
  readme_sync.py checks the README quick start against quickstart.c.
- ci.yml: package, consumer test on the four platforms, readme-sync.
- release.yml: the test job builds and consumer-tests the archives at
  the release version; publish uploads exactly those files;
  verify-published downloads them from the release and opens a
  release-broken issue on failure.
- README: archive contents, glibc floor, the MSVC compile line.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PtCdzbJMSS1V8qEPaJ4jXz
rustc recorded the build directory as LC_ID_DYLIB, so every program
linked against the released dylib looked for it on the CI runner and
failed to start. Found by the macOS consumer test; 2.0.8 is affected.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PtCdzbJMSS1V8qEPaJ4jXz
@adityamukho
adityamukho merged commit e2c0278 into v3 Oct 20, 2026
26 of 27 checks passed
@adityamukho
adityamukho deleted the ci/consumer-tests-v3 branch October 20, 2026 17:27
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

0