Hi, I’m very happy with what snaps offer, but working on them is often very frustrating.
Many of the pain points amount to the documentation, which is sometimes incomplete or outdated. Also, there are many approaches, and this further complicates both reading and maintaining the docs.
Sorry for the rant, but I’m really trying to enhance a snap of mine, but so far I could only report bugs… (And not everything is due to Snapcraft/Canonical, like the Travis issue, but many things indeed are)
I began reaching the tutorial page, which for some reason only lists six tutorials. I remember there were more in the past, but maybe some have been deprecated, I don’t know. Nevertheless, I chose Continuous snap delivery from Travis CI. I follow the tutorial, only running the commands that are needed to enable CI on my snap.
At step 5 it’s suggested to use snapcraft enable-ci travis
, but it turns out no such option exists (bug).
So I think I will just try first to package it locally and leave the travis integration for later. Hence I run the snapcraft command:
$ snapcraft
Support for 'multipass' needs to be set up. Would you like to do it now? [y/N]: y
multipass 1.5.0 from Canonical✓ installed
Waiting for multipass...
Launching a VM.
Build environment is in unknown state, cleaning first.
delete failed: The following errors occurred:
instance "snapcraft-folding-at-home-fcole90" does not exist
An error occurred with the instance when trying to delete with 'multipass': returned exit code 2.
Ensure that 'multipass' is setup correctly and try again.
So it failed… Running it again, magically fixed the issue. (bug)
Later I discover that travis is available also as a snap, so I install it but it reports:
$ travis
Outdated CLI version, run `gem install travis`.
...
So I file a bug also to Travis.
I notice that they bump manually the Gemfile to refer to the latest version, which they likely forgot to do on the snap. So I think if there is a way to run some script to get such information. I remember that there is a thing called Scriptlets, so I think if it can work here. I go to check the docs, but I don’t find them mentioned anywhere. I’m surprised! So I google them and I find them. I report yet another bug.
Why this post?
Because papercuts happen, but this feels like someone forgot bear traps on a garden and then invited me for a barbeque
I think something went wrong with the developers onboarding strategy, but I can’t say where did it start I can only say that while I like the snaps concept, I feel the creation process to be very cumbersome, heavy on resources (Multipass), and generally frustrating.
Bring back the fun
I think programming and creating stuff is really fun, and I think also snapcrafting could be much more engaging… Please, make this happen and we (developers) will make many snaps