snap publishing should use github actions

Open
#299 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
42/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
github-actions
Domain
ci-cd, devops, release

Research direction

Start by locating the existing CI configuration and the Launchpad-based snap build and publishing workflow. Review Canonical's action-publish action and compare the CI and release paths. Done means both use GitHub Actions while publishing still requires an explicit manual trigger and pull requests exercise the same build process as releases.

Written by the indexing model from the issue text.

Description

Currently snap publishing uses Launchpad to build the snaps and then push them to the snap store. Unfortunately, the CI environment is different from Launchpad's build environments which can result in CI passing but the snaps failing to build on Launchpad, and noticing this only occurs once we try to publish a release. It seems that there is an action provided by Canonical that allows snaps to be published from a Github action. Given this, we could change the CI to use Github actions, and change the publishing workflow to also use Github actions. This would ensure that the CI uses the same process as releases so that PRs are properly tested.

Furthermore, the Launchpad UI is pretty awful and every time I try to use it to setup a new release, I get lost. Moving off of Launchpad should reduce the overhead.

If we were to do this, we should still preserve the behavior of requiring an explicit action to publish a snap, so the workflow that does that needs to be one that can only be triggered manually.

Dominant language
Makefile
Stars
47
Forks
50
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from bitcoin-core/packaging

All issues in bitcoin-core/packaging

Similar issues

More DevOps issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.