Skip to content

chore: polish mix.exs and add ExDoc + Pages workflows#129

Merged
mw2000 merged 2 commits intomainfrom
mw2000/bls
Apr 28, 2026
Merged

chore: polish mix.exs and add ExDoc + Pages workflows#129
mw2000 merged 2 commits intomainfrom
mw2000/bls

Conversation

@mw2000
Copy link
Copy Markdown
Owner

@mw2000 mw2000 commented Apr 28, 2026

Summary

  • mix.exs: add description, source/homepage URLs, @version constant, elixirc_paths(:test), full docs: config with module groups, ex_doc dep (dev-only), and move preferred_cli_env into def cli/0 (Mix 1.18+).
  • lib/eevm.ex: rewrite the landing moduledoc — drops the stale "learning project / Elixir Concepts Demonstrated" framing and lists the actual top-level modules (Interpreter, Precompiles, Transaction, Block.Processor, MPT, etc.).
  • lib/eevm/block/receipt.ex: fix a broken ExDoc reference (EEVM.Block.Bloom.log_entry/0t:EEVM.Block.Bloom.log_entry/0).
  • test/test_helper.exs: drop the manual Code.require_file for test/support/** now that elixirc_paths(:test) handles it.
  • .github/workflows/elixir.ymlci.yml: rename and add a Docs job that runs mix docs and fails on warnings.
  • .github/workflows/pages.yml (new): builds and deploys docs to GitHub Pages on push to main (and via workflow_dispatch).

Test plan

  • mix compile --warnings-as-errors clean
  • mix test — 611 tests + 4 doctests, 0 failures
  • mix docs — generates doc/index.html with zero warnings
  • Workflows YAML validated locally
  • After merge, enable Settings → Pages → Source: GitHub Actions so the deploy job has somewhere to publish — the next push to main (or manual workflow_dispatch) will publish to https://mw2000.github.io/eevm/.

🤖 Generated with Claude Code

- mix.exs: add description, source/homepage URLs, elixirc_paths(:test),
  docs config with module groups, ex_doc dep, preferred_envs via def cli/0
- test/test_helper.exs: drop manual Code.require_file in favor of
  elixirc_paths(:test) including test/support
- lib/eevm.ex: rewrite landing moduledoc — drop stale "learning project"
  framing, list actual top-level modules
- lib/eevm/block/receipt.ex: fix broken doc reference
  (t:EEVM.Block.Bloom.log_entry/0)
- .github/workflows/elixir.yml -> ci.yml: rename and add a Docs job
  that fails on ExDoc warnings
- .github/workflows/pages.yml: new — builds and deploys docs to
  GitHub Pages on push to main

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The Docs job tripped on `use Bitwise is deprecated` from deps/bn — a
transitive hex dep, not our code. Lint already enforces
`mix compile --warnings-as-errors` for our own code (deps are excluded
by default), so the docs job should only fail on warnings emitted by
ExDoc itself (broken `t:.../0` refs, missing modules, etc.), not on
compile-time warnings that surface during a fresh dep build.

Split compile and docs into separate steps and use awk to grep only
the lines after the "Generating docs..." marker.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@mw2000 mw2000 merged commit fd114b6 into main Apr 28, 2026
3 checks passed
@mw2000 mw2000 deleted the mw2000/bls branch April 28, 2026 07:22
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