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.
Scoop's manifest is a JSON document keyed by architecture rather
than a Ruby DSL, so unlike Homebrew there is no user-facing
.eex template shipped into the user's repo -- tinfoil owns the
manifest layout end-to-end. If you need to customize beyond the
schema, override the rendered file in a post-publish step or open
an issue.
Requires the :windows_x86_64 target to be in your :tinfoil :targets list (or Scoop has nothing to point at).
Summary
Types
@type error() :: :scoop_not_enabled | :missing_tag | :missing_scoop_bucket_token | :missing_windows_target | :malformed_sha_sidecar | {:missing_sha_sidecar, atom(), Path.t()} | {:git_failed, [String.t()], non_neg_integer(), String.t()}
Known error atoms returned by publish/2.
:scoop_not_enabled-- config hasscoop.enabled: false:missing_tag-- no tag andGITHUB_REF_NAMEis unset:missing_scoop_bucket_token--auth: :tokenbut theSCOOP_BUCKET_TOKENenv var is missing. (Thetoken_secretconfig only renames the workflow secret; the task always readsSCOOP_BUCKET_TOKEN, which the generated workflow maps it to.):missing_windows_target-- windows_x86_64 isn't in :targets, so there's nothing to publish{:missing_sha_sidecar, target, path}-- the sha sidecar for the windows archive wasn't found ininput_dir:malformed_sha_sidecar{:git_failed, args, exit_status, output}