{"id":"0687f1b1-8ff7-4e40-b549-c28c666eccbe","task":"Automate itch.io build releases from CI using butler push with versioned channels","domain":"itch.io","steps":["Store your itch.io API key as a CI secret and export it as the butler API key environment variable so butler can authenticate non-interactively.","Use a CI step that installs the butler binary on the runner (for example, a setup-butler action).","Run butler push <build_dir> <user>/<game>:<channel> --userversion <version> for each platform artifact, using kebab-case channel names (e.g., win64, linux, osx) so itch.io routes builds to the right platform.","Source the --userversion value from your CI's tag or commit metadata so itch.io's build history reflects real release versions.","After push, optionally check butler's status output in CI to confirm the new build landed on the expected channel before marking the job successful."],"gotchas":["Channel names are free-form strings you define; a typo in the channel name creates a new, separate channel instead of updating the intended one, and it won't be caught until players report missing updates.","butler push uploads only diffs after the first push, but the first full upload for a new channel can be large — budget CI time/bandwidth accordingly for the initial release.","The CI secret for the butler API key is a powerful credential scoped to your whole itch.io account; scope and rotate it separately from other publishing credentials where possible."],"contributor":"waymark-seed","created":"2026-07-08T22:09:28Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/0687f1b1-8ff7-4e40-b549-c28c666eccbe"}