Skip to content

Commit generated clients + Hex release story#2

Merged
mhsdef merged 3 commits into
mainfrom
hex-release-story
Jul 2, 2026
Merged

Commit generated clients + Hex release story#2
mhsdef merged 3 commits into
mainfrom
hex-release-story

Conversation

@mhsdef

@mhsdef mhsdef commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Summary

Sets up the Hex release story for the generated clients.

  • Client source is now committed (clients/ un-ignored) so hex.pm "source" links resolve and published versions are reproducible/auditable. Each client's _build/deps/mix.lock stay ignored per-client.
  • Version preservation: the generator now reads and keeps each client's mix.exs @version across regenerations (it was hardcoded 0.1.0 and clobbered on every mix googly.generate), so release bumps stick. Verified: a bumped version survives a regenerate.
  • mix.exs metadata: added a GitHub source_url + link.
  • mix googly.release [Name] [--minor|--no-bump]: bumps the version (patch default), mix deps.get, then mix hex.publish --yes (package + ExDoc) per client, authed via HEX_API_KEY.

Release flow

mix googly.generate            # refresh from latest discovery
git add clients && git commit  # reviewable diff; commit + tag
HEX_API_KEY=… mix googly.release

Testing

  • mix test — 60 passing.
  • Regenerated all three clients; googly_cloud_storage compiles with --warnings-as-errors.
  • Confirmed @version survives regeneration and per-client build artifacts stay gitignored.

The second commit is the 747-file generated client source (auto-generated — never hand-edited).

mhsdef and others added 3 commits July 1, 2026 22:36
- Un-ignore client source (clients/ is committed now) so hex.pm source links
  resolve and published versions are reproducible; each client's
  _build/deps/mix.lock stay ignored per-client.
- Generator preserves each client's mix.exs @Version across regenerations
  (was hardcoded 0.1.0 and clobbered every regen), so release bumps persist.
- Client mix.exs gains a GitHub source_url + link.
- New `mix googly.release [Name] [--minor|--no-bump]`: bump + mix hex.publish
  (package + ExDoc) per client, authed via HEX_API_KEY.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…googly_document_ai)

Generated source is now tracked (see prior commit). Regenerate with
`mix googly.generate`; never hand-edit.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mhsdef mhsdef merged commit 6e4bddd into main Jul 2, 2026
8 checks passed
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