ungoogled-software / ungoogled-chromium

Google Chromium, sans integration with Google
BSD 3-Clause "New" or "Revised" License
20.67k stars 836 forks source link

Use an open build service or CI system #17

Closed Alvintrmp closed 4 years ago

Alvintrmp commented 8 years ago

Somepeople has ancient computers and can't compile ungoogled with his computer

because chromium EVEN with a good pc need some hours

for let more people enjoy your software

i suggest you try to make compatible ungoogled with a popular build service´such as opensuse build service

thanks for read my suggestion

Eloston commented 8 years ago

Are you suggesting to use an open build platform to support more systems? If so, what systems and what build platforms do you recommend?

It's not a bad idea considering the hassle of building it myself. I'll need one or some that provides Debian Stretch, Ubuntu Xenial, and Windows environments.

Alvintrmp commented 8 years ago

opensuse build service supports debian 7-8, ubuntu 15.10-16.04, centos 6-7, fedora 22-23, oepnsuse 13.1-1.2, tumbleweed and arch linux

and gives an extra advantage, lets users of ancient computers "or without huge amounts of ram" compile them, because the buildscript used for now requires a good cpu and many ram "intel i5 + 16gm ram delays 5 hours"

Alvintrmp commented 8 years ago

as i think would fine give support "ading to the default chromium .src.rpm" the patches for opensuse and fedora, or at least arch

that lets anybody enjoy it "without a good hardware"

Eloston commented 8 years ago

I'll look into using OpenSUSE Build Service for building Debian 8 and Ubuntu 16.04 packages for now. I still have some work to do to make support for other platforms easier, and I still need to finish work on Chromium 51.

Alvintrmp commented 8 years ago

this junk of clear-http-auth-cache-menu-item.patch isn't compatible with chromium 51 gpaste.us/5ca429b0
and this bug
http://gpaste.us/352fe25d

Eloston commented 8 years ago

Please open another bug report for that.

Eloston commented 8 years ago

For reference: There is some discussion about Travis-CI and Launchpad over on #37.

Eloston commented 6 years ago

There currently isn't a need for this right now. GitLab CI can handle Linux builds, or push to other platforms that can create other packages. Also, none of the other platforms need an automated process right now.

Eloston commented 6 years ago

In recent months, I've changed my stance on this issue. Having CI would boost development productivity and shorten the time needed to build and publish binaries ourselves.

Right now, there are several sub-ideal scripts I wrote to do sanity checking using CircleCI, but it would be better to actually run builds. It doesn't need to be after every commit; it could be done weekly or after a new tag is published for now.

I'm open to suggestions. Free plans from TravisCI and many other systems are out of the question because Chromium takes quite a bit of computational resources compared to that of most other free CI jobs (CPU, RAM, storage, and time). I also don't want to take the responsibility of maintaining this system, especially if it means I need to manage a paid plan and the funds that go into them.

devnoname120 commented 6 years ago

Related: https://github.com/ungoogled-software/ungoogled-chromium-binaries/issues/30

Free plans from TravisCI and many other systems are out of the question because Chromium takes quite a bit of computational resources compared to that of most other free CI jobs (CPU, RAM, storage, and time)

I would suggest asking them anyway, we never know what they might answer.

intika commented 6 years ago

Related: ungoogled-software/ungoogled-chromium-binaries#30

Free plans from TravisCI and many other systems are out of the question because Chromium takes quite a bit of computational resources compared to that of most other free CI jobs (CPU, RAM, storage, and time)

I would suggest asking them anyway, we never know what they might answer.

@devnoname120 Send a request referring to this issue and let us know... but i don't think they will answer with a free offer that will build the project in a reasonable time (a server with 48 x 2Ghz and 128GRam build the project in 15 min)

intika commented 6 years ago

Now i have an idea... google-cloud-computing offer a cli to manage servers and they bill only when the server is running, i could make some script that will automate the whole process BUT never the less this will cost approx 1~2 euros per build...

Basically it's what i am doing manually to build the releases that i published...

Thinking of 2 releases per month time the different releases 1,5€ x 2 releases x 10 builds = 30€/month a financial solution could be using "google search" to pay back the costs

All this to come back to what @Eloston have posted

I also don't want to take the responsibility of maintaining this system, especially if it means I need to manage a paid plan and the funds that go into them.

So to make it simple is there any volunteer for that ?

Note : in my personal situation i don't want to assume that (even if i do that manually from time to time)

We could setup a paypal donation account or something similar, but

  1. is @Eloston okay with such a solution ?
  2. is there any volunteer to manage that account ?

Other Idea : a designated packagers team... (in my case i can not guarantee that i will build every release)

Other Idea : identify who make the build... let say to be able to publish a build you need to be identified name/adresse... disclosed to @Eloston or something

Other idea : deploy the package to all distro repos (find an official packager for evey distro)

Other idea : we make a little funding to make a gift to this project and offer him a server :D :dancing_men:

Other idea : find a sponsor

Other idea : stop publishing builds looool ahaha

Other idea : setup something like a "button to build and publish" that would cost 2€ and any user can click it and pay to automatically build and publish hahahahaha never the less its doable (we will see a build popping up every day lol)

Thinking of that, that would be damn cool to have that button on a bench of projects loool i am giving away this idea of business for free guys lol hahahaha :D

Eloston commented 6 years ago

@intika

Other idea : setup something like a "button to build and publish" that would cost 2€ and any user can click it and pay to automatically build and publish hahahahaha never the less its doable (we will see a build popping up every day lol)

This is an interesting idea; have the user pay for computational power to run a predefined process. However, I'm not sure if users would be willing to pay for builds; the technically-able could just purchase computing power themselves, so people who aren't as knowledgeable would be the main audience. I'm not sure what the main audience would like in this scenario.

Your other ideas are not bad, but they ultimately create more responsibility for at least one of us; examples of responsibilities include:

I think the best solution here is something that creates minimal responsibilitiy for us (financially and socially), and is sustainable for the provider (e.g. a CI service, volunteer, etc.). I realize that these requirements are pretty atypical (normally someone has to dedicate some part of their lives and resources to maintain this sort of thing), but I personally don't believe the benefits from a better CI system outweighs the dedication required.

devnoname120 commented 6 years ago

@intika I don't feel comfortable asking on the behalf of a project I'm not the owner of (I'm not even a contributor).

intika commented 6 years ago

but I personally don't believe the benefits from a better CI system outweighs the dedication required.

Agree 100%

...

@Eloston i love the way you write its amazing and aspirating, english is not my mother lang but i would love to be able to write like you :) ... you should write a book lol :D :yum: :dancing_women:

I don't feel comfortable asking on the behalf of a project I'm not the owner of (I'm not even a contributor).

@devnoname120 You are a contributor participating to this by you answers etc. :+1:

...

@Alvintrmp @devnoname120 @ArjonBu @ryneeverett @9Morello @lenormf @alexbakker @d33tah @RobinThrift @pizzadude @hrj @podshumok @MikolajQ @kirylpl @Lesik @zabbal @message @pseudoj @T-vK @metsatron @mtimofiiv @fedenko @sixtyfive @olosz @dannycolin @raininja @nyancat18 and all others and any one interested in this...

Any one willing to pay for builds ?

hrj commented 6 years ago

@intika Great to see your enthusiasm. I can chip in about 5 to 10 USD per month and send it to any paypal account designated by @Eloston or @intika .

If we are able to collect the target of 30€/month, then fine. Otherwise, we can choose a smaller server and live with increased build time for now. Instead of 15 min per build, it might be 2 hours per build.

IMO the important thing is to get the ball rolling.

alexbakker commented 6 years ago

Asking DigitalOcean for some free credits on their platform may be worth a shot. They're known to support lots of open source projects.

T-vK commented 6 years ago

It wouldn't really be a problem to set up a private GitLab instance on a $5/month VPS, but we would need a maintainer who we can trust and who always ensures that the latest security patches are installed. And honestly there are not many people who I would trust enough to blindly load their binaries onto my computer. In my opinion we should use a trusted service that takes care of the CI process. I'm not even sure if it would be necessary to pay for it at all. For instance, once #37 is resolved, we would be able to fully automate builds and distribution for Ubuntu, just by using a free gitlab.com account and launchpad.net.

sixtyfive commented 6 years ago

Whatever you feel you should do, you should do. Because in turn, at the moment there doesn't seem to be an awful lot of trust in you from the side of distributions. At least Solus think it's better to stay away from ungoogled-chromium: https://dev.getsol.us/T1117 .

intika commented 6 years ago

Summarizing :

We just need some one that would take care of that... (in any case .../server/button/ci-services/...)

Any volunteer ?

Honestly i think none of those solutions is suitable, the project just need more users, then packagers of every distro will make this available in their repo...

Eloston commented 6 years ago

@hrj brings up a good point; we need to get something going to make progress. As @T-vK brought up, we are pretty close to having an automated system for making .deb packages with GitLab and Launchpad; opening this channel for builds will help in bringing more users. Having more users helps with exposure, which in turn helps with development; it opens the possibility for a virtuous cycle of improvement. This should help build trust, which @sixtyfive and @intika brought up.

After #37 gets resolved (or even simultaneously), we could consider solutions like the ones @alexbakker brought up to setup automated builds for more configurations.

ArjonBu commented 6 years ago

@intika Why did you tag me?

BTW Just use the opensuse build service.

intika commented 6 years ago

@intika Why did you tag me?

BTW Just use the opensuse build service.

Why not ! lol ... (just joking... i tagged you because of https://github.com/Eloston/ungoogled-chromium/issues/59)

hrj commented 5 years ago

Regarding the financial and legal overhead of managing something like this:

I came across OpenCollective today, which might be suitable for this project. In a nut shell, they "host" a collective, which means they take care of the bank account and accounting hassle. People who incur costs for the collective can raise an invoice, and the collective's admin can approve the invoice. Once approved, the funds for the invoice are released. People who want to donate to the collective get more transparency.

A good article explaining it is here

If there is interest and approval, especially from @Eloston, I will be happy to setup a collective for this project and see how it flies.

Eloston commented 5 years ago

@hrj This is an interesting concept; thanks for sharing. However, I don't quite understand what value my approval has on this; what kind of responsibility would I incur as a result?

In addition, based on the article you linked, it seems that OpenCollective is targeted more towards funding developers rather than infrastructure itself. Are there similar cases to this on OpenCollective?

hrj commented 5 years ago

@Eloston It is definitely useful for infrastructure. I have seen collectives which have invoices for loomio for example. Here's another collective that was started for paying hosting and domain costs: https://www.reddit.com/r/ponylang/comments/9nw2uy/pony_is_a_now_a_member_of_opencollective_looking/

About approval, I just meant informal approval, that is, confirmation that you don't mind something like this.

I tried creating a collective for my own projects, but it requires some github permissions to the repo. So, I probably won't be able to create a collective for this repo. You, or somebody with contributor permission to the repo, will have to initiate the creation.

Eloston commented 5 years ago

@hrj I looked into the GitHub permissions they use, and it seems they require a lot of permissions to work properly right now: https://github.com/opencollective/opencollective/issues/355

If we're going to use this, I'd rather we enable this on a mirror of this repository until the permissions are more reasonable. But, would this cause any major issues?

ghost commented 5 years ago

I think travis ci is the most trusted CI! We can use it for free!! https://travis-ci.com/plans

Always free for open source projects

tonowoe commented 5 years ago

I think travis ci is the most trusted CI! We can use it for free!! https://travis-ci.com/plans

Always free for open source projects

How does that work? Someone just can use their service to build open source project (like ungoogled-chromium) for multiple systems for free?

sixtyfive commented 5 years ago

Just one click on that link and it asks you for GitHub authorization...

zrose584 commented 4 years ago

Really I think OBS is the solution here:


I am aware that others have alredy suggested the use of OBS. Maybe a working example can help.

Some things to keep in mind:

A good resource for getting started is this.


After everything is done, installing is as easy as

curl https://build.opensuse.org/projects/home:zrose584/public_key | sudo apt-key add -
echo "deb https://download.opensuse.org/repositories/home:/zrose584/Debian_10 ./" | sudo tee -a /etc/apt/sources.list
sudo apt-get update

sudo apt-get install ungoogled-chromium ungoogled-chromium-common

And since using apt, future updates will be installed automatically. Not to mention that these builds are reproducable, so you don't have to trust an unknown person when using prebuild binaries.

jstkdng commented 4 years ago

+1 on the OBS solution, and the openSUSE folks even have a nice landing page for each project, e.g. my repo for arch. image https://software.opensuse.org/download/package?package=ungoogled-chromium&project=home%3Ajustkidding With this maybe we could even replace the ungoogled-chromium-binaries repo. We could manage all binaries for each distribution, not sure how to do it. Maybe create a UngoogledChromium project and add packages for each distribution.

Eloston commented 4 years ago

I think this can finally be closed now as each platform is starting to integrate OBS or other solutions.