AppImageCrafters / appimage-builder

GNU/Linux packaging solution using the AppImage format
MIT License
304 stars 58 forks source link

Idea: Web based(Server-less Javascript) or GUI Application for generating yml configuration. #1

Open antony-jr opened 4 years ago

antony-jr commented 4 years ago

We have seen so many application authors wanting to integrate AppImages into their release system but they fail because they have very little knowledge about AppImages or think it as a chore. So I propose that we build some kind of server-less Javascript or GUI Application to generate the yml configuration file with respect to their Continuous Integration platform. For starters we can aim at travis-ci.

I can help to get this idea started, But I really don't know if its a good idea. Any suggestions?

antony-jr commented 4 years ago

Or we could also create a desktop application(GUI) to automatically modify the travis-ci files and also generate the AppImageCraft configuration file. And all the user have to do is just commit the changes after reviewing.

azubieta commented 4 years ago

I was thinking on create some sort of wizard like the one on Snapcraft with the common recipes. I guess that it can be extended with extra options to ease tweaking to the new-comers.

antony-jr commented 4 years ago

wizard like the one on Snapcraft with the common recipes. I guess that it can be extended with extra options to ease tweaking to the new-comers.

Yes, also adjusting to the build process by parsing the travis.yml which needs some sort of guessing.

EDIT:

For example a normal Qt application will have a simple make and build. What we need to do is look for these patterns and add the AppImage craft at the end of these build to package and build AppImages. And also we can use the travis-ci api to encrypt the github api key directly into the travis.yml and automatically make the AppImages release onto a specific release tag like continuous. We could also create a Github App to integrate all these very smoothly.

antony-jr commented 4 years ago

I think what we are going at is very similar to OBS. OBS also builds AppImages automatically based on recipes but it cannot go well with continuous integration. Also it requires extra knowledge and a lot of chore to get started.

azubieta commented 4 years ago

we can use the travis-ci api to encrypt the github api key directly into the travis.yml and automatically make the AppImages release onto a specific release tag like continuous. We could also create a Github App to integrate all these very smoothly.

Sounds terrific!

antony-jr commented 4 years ago

What I have in mind is this, Build the App using Next.js(and Obviously React.js),

Using Github OAuth or Github token with repo scope get access to the user's targeted repo's write access and read .travis.yml and parse it to create a new .travis.yml integrating the AppImageCraft. Make sure to make a backup to revert the commit if something goes terribly wrong. Also have a manual wizard to create a customized build with a template.

If everything goes well, integrating AppImageCraft should be easy as integrating codacy. And that is awesome.

azubieta commented 4 years ago

I can feel that you're about to do it! Just let's consolidate a bit the implementation and we move on making the tool.

azubieta commented 4 years ago

Also it would be great if it integrates with gitlab and gitlab-ci. I guess that we could make a tool like this part of the https://opencode.net ecosystem.

star-buck commented 4 years ago

since travis-ci is not opensource by any means, i suggest to build this for gitlab ci for starters instead.

antony-jr commented 4 years ago

since travis-ci is not opensource by any means, i suggest to build this for gitlab ci for starters instead.

@star-buck Thanks for the insight. But I think Travis-CI is open source too (https://github.com/travis-ci). Most of their tools are open source(Correct me if I'm wrong). But adding support for gitlab ci won't hurt.

Okay I will be working on integrating this in a non-invasive way and also make it easy for the end user., The first revision will support Gitlab-CI and Github(Travis-CI).

@azubieta Some name suggestions could help(I'm very bad at naming stuff), also if I were to publish the source at some point, should I create a new repo in AppImageCraft org or in my personal account?

EDIT:

At the moment I'm very busy, So this is going to progress very slowly.(but I will be back in mid November)

azubieta commented 4 years ago

@azubieta Some name suggestions could help(I'm very bad at naming stuff), also if I were to publish the source at some point, should I create a new repo in AppImageCraft org or in my personal account?

What about naming it "AppImageCraft-Web", or just AppImageCraft. In a future we could host it in a domain with that name.

Publishing the repo as part of the organization will be better to onboard possible collaborators. So, yes, please create the repo here.

antony-jr commented 4 years ago

Can we still use AppImageCraft as the name???

azubieta commented 4 years ago

The AppImageCraft project was there before we started this one, also appimage-builder is not a bad name. So let's avoid pointless discussions and keep using appimage-builder.