Modules
Distribution automation for Burrito-based Elixir CLIs.
Create release archives from built binaries.
Orchestrate a single-target Burrito build, archive, and checksum.
Integration with the user's Burrito configuration in mix.exs.
Schema, defaults, and validation for the :tinfoil key in mix.exs.
Renders tinfoil's EEx templates into the target project.
Render a Homebrew formula from release artifacts and push it to a
tap repo. Earlier tinfoil versions shelled out to a generated
scripts/update-homebrew.sh; this module replaces it so the whole
release lifecycle stays in Elixir and is unit-testable.
Thin wrapper around the subset of git commands Tinfoil.Homebrew
needs. Kept behind a behaviour so tests can swap in a stub module
without touching the real filesystem or network.
Heuristic detection of dependencies that may not cross-compile cleanly under Burrito's Zig toolchain.
Build a structured plan describing what tinfoil would build and release from the current config.
Splice tinfoil + Burrito wiring into a mix.exs that was produced
by mix new. The edits are intentionally string-based (not AST
rewrites) so user formatting, comments, and layout are preserved.
Create a GitHub Release and upload archive assets to it.
Render a Scoop manifest from release artifacts and push it to a
bucket repo. The Windows-package-manager counterpart to
Tinfoil.Homebrew, same shape: mix task at CI time, token or
deploy-key auth, dry-run preview.
The core target matrix — the most valuable knowledge tinfoil encodes.
Mix Tasks
Render the Homebrew formula from the release artifacts in the input directory and push the result to the configured tap repo.
Render the Scoop manifest from release artifacts and push it to the
configured bucket repo. The Windows counterpart to
mix tinfoil.homebrew.
Build a single tinfoil target end-to-end.
Regenerate the tinfoil-managed files from the current :tinfoil
config in mix.exs.
Initialize tinfoil for the current mix project.
Print a plan of what tinfoil would build and release from the
current :tinfoil config in mix.exs.
Create a GitHub Release for the current tag and upload every archive and checksum file found under the input directory.