/snap/bin/snapcraft upload loopchain_20210826.0.dev_amd64.snap --release edge/20210826.0.dev
Preparing to upload 'loopchain_20210826.0.dev_amd64.snap'.
After uploading, the resulting snap revision will be released to 'edge/20210826.0.dev' when it passes the Snap Store review.
Install the review-tools from the Snap Store for enhanced checks before uploading this snap.
Pushing 'loopchain_20210826.0.dev_amd64.snap' [ ] 0%
...push progressing...
Pushing 'loopchain_20210826.0.dev_amd64.snap' [==========================] 100%
Received:
- macaroon-permission-required: Permission "channel" is required as a macaroon caveat.
/snap/bin/snapcraft logout
Credentials cleared.
Error: The process '/snap/bin/snapcraft' failed with exit code 2
Does the auth token work if you try to release to edge rather than edge/20210826.0.dev? I wonder if this is just a bad error message from the store that should read something like "channel" caveat prevents release to channel "edge/20210826.0.dev".
It’s probably possible to create a macaroon that allows you to release to a branch, but that’s not really going to help if you’re creating date stamped branch names. What you’re probably after is some kind of wildcard matching, and I’ve got no idea whether the store supports that. You could try adding edge/* to the allowed channels list in your auth token, but I’ve got no idea whether it’d actually work.
You could probably also restrict the exported login to channels edge,edge/*, which would be a little more exact. In practice it shouldn’t matter as it seems highly unlikely that a new risk name will be introduced that starts with “edge”.