Add snapcraft #105

Merged
merged 4 commits into from Dec 7, 2017

Conversation

Projects
None yet
3 participants
Contributor

daniellimws commented Dec 4, 2017

With this, users can easily install and update via the snap store, by doing sudo snap install hightail.

daniellimws added some commits Dec 4, 2017

Add snapcraft support
With this, users can easily install and update via the snap store,
by doing `sudo snap install hightail`
Owner

dj3500 commented Dec 4, 2017

If I pull this in, that's it? Running that command will always clone the current master from github and compile it? Or would I need to register hightail on snap's website (whatever that is)?

Contributor

daniellimws commented Dec 4, 2017

Currently I've registered hightail on the snap store, but it's bound to my account, not sure if that's a problem.

As you can see here, snapcraft can build the project every time an update is made, and release it to the snap store. (I think it should be automatic)

However I think since updates are all made to the main repository (which is this one), you'll have to register an account and add your repo for it to work. Or alternatively I'll pull the updates from your repo, and it should work fine.

Problem is although this is somewhat slightly better for deployment, I believe downloading the file straight from the releases page would be faster because snap may add some metadata (i'm not too sure about that).

tldr: if you are lazy, probably just ignore this pull request

daniellimws added some commits Dec 4, 2017

Remove build-packages
These unnecessary dependencies caused the release on snap store to fail.
Removing them should fix the problem.
Owner

dj3500 commented Dec 6, 2017

Hmm. So I am indeed too lazy if I would have to do something every time master gets an update. On the other hand, if it's about doing some stuff now and being able to forget about it, then I'm up for it :)

And also, it is master, right? Or only the GitHub releases? And the version string should not be v0.9.6, I think - right now that's the latest release, but master is ahead of that, and also we're not going to update this string every time something changes. Maybe we can leave the version empty...

So what do I do?

Contributor

daniellimws commented Dec 6, 2017

Yeah it's a one-time setup. You just need to merge my pull request as I've got every thing setup properly in there already. Then, register an account at build.snapcraft.io/.

However one problem is I've registered the name hightail so you may have problems registering that name with your account. I'll try to get that name unregistered at the meantime.

elopio commented Dec 6, 2017

Hey @dj3500, once you fill the registration form in https://dashboard.snapcraft.io you can add a comment to request the transfer of the name from @daniellim2000. Give it a try, the snap will be built and released automatically from https://build.snapcraft.io every time you change master. The snap will land in the edge channel, where your community and the community of ubuntu testers can give it a try and provide quick feedback. And once you are confident with a version and move it to the stable channel, it will be exposed to millions of users from the store, who can install it with one click/command, and get automatic updates.

About the version string, you can use version: git, and when you add an annotated tag to the repo to make a release, the version of the snap will take the value of the tag. But you can worry about the details later as you go, the edge channel is for experimentation. If you and your users like it, you can then maintain the stable release.

Thanks @daniellim2000 !

Contributor

daniellimws commented Dec 7, 2017

Thanks for the help @elopio .

@dj3500 dj3500 merged commit 868015d into dj3500:master Dec 7, 2017

Owner

dj3500 commented Dec 7, 2017

Ok, I made a petition and merged this in. Also pushed a commit to change the version string to git.

Please let me know when it works - I don't have a Linux machine to test this on. Also, I think we can put it on the stable channel from the get go...

Contributor

daniellimws commented Dec 7, 2017

Alright great.

Owner

dj3500 commented Dec 7, 2017

Should I also add the repo (the bit that does OAuth from GitHub etc.)? Right now I just made an account and requested rights to the hightail snap...

Owner

dj3500 commented Dec 7, 2017

Alright, I added, it got released. Could one of you guys test: sudo snap install --edge hightail?
In particular, it would be good to see if hightail.config survives between sessions (i.e., whether hightail has write access to that).

And another question to the snap afficionados. If I release this version (1) as stable, that doesn't imply that any future (automatic) releases to edge will be in stable, right? Is there a way to make all new commits to master here create a new stable release? If not, I suppose I will just stay on edge forever. (But are there automatic updates then? If someone installed via install --edge, do they get the edge updates forever?)

Contributor

daniellimws commented Dec 7, 2017

@dj3500
Ok, I'll test it out in the next few codeforces rounds.

Owner

dj3500 commented Dec 7, 2017

Contributor

daniellimws commented Dec 11, 2017

@dj3500 Hey I just checked. Settings is preserved.

@daniellimws daniellimws deleted the daniellimws:add-snapcraft branch Dec 13, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment