Replies: 37 comments
-
I'm actually working on sth related, as a first step for solving #845. I'm testing it in my own repo now and once it worked I will make an Arch version too. |
Beta Was this translation helpful? Give feedback.
-
No, I never used that. I have already made an OBS for myself and I can get binary package anytime. I am speaking in general, For all users who wants to use this Browser including Windows, MacOS users, for x64 and ARM architectures, We need a pre-compiled binary releases attached for every update. I think that Github Actions could be the solution for this. |
Beta Was this translation helpful? Give feedback.
-
I see. Linux distributions are similar so it shouldn't be too hard to get them working once I can build the Arch version. Do not know about Windows and MacOS versions though. |
Beta Was this translation helpful? Give feedback.
-
We won't be making packages. We just need a compiled binary in a zip file and then people can make packages for their distributions based on it just like For Windows we need to make an Installation exe with an integrated updater For mac, we need to make a .dmg file |
Beta Was this translation helpful? Give feedback.
-
There are three repos:
I know what the file will be. I am saying I cannot test them because I do not have the system. |
Beta Was this translation helpful? Give feedback.
-
Github Actions uses Ubuntu(Debian based) so we can only make binary and .deb
There are already |
Beta Was this translation helpful? Give feedback.
-
It's undocumented but Github Actions actually support Docker containers.
It will be hard to debug if anything goes wrong, without an actual system you can play with. |
Beta Was this translation helpful? Give feedback.
-
I am currently working on the |
Beta Was this translation helpful? Give feedback.
-
Good luck on that, I don't have free time now. Once I get free time, I'll try to make it for Linux first. First, I need to learn how to use Github actions. |
Beta Was this translation helpful? Give feedback.
-
You mean like this? https://help.github.com/en/actions/automating-your-workflow-with-github-actions/creating-a-docker-container-action Would the GitHub-provided container have enough resources to build Chromium? Edit: I saw #845, interesting. @nikolowry you might be interested too |
Beta Was this translation helpful? Give feedback.
-
@csagan5 What I used is actually this, but it only works on Ubuntu VMs, which is kind of too slow. I have an updated version running on macOS which is 25% faster. |
Beta Was this translation helpful? Give feedback.
-
@wchen342 from what I understand it would not work for an Android build because it would take more than 6h? I have considered in the past using https://build.opensuse.org/ (assuming they would allow it), but it would not be integrated with GitHub actions. |
Beta Was this translation helpful? Give feedback.
-
@csagan5 It works for most single targets ( |
Beta Was this translation helpful? Give feedback.
-
@csagan5 I saw a few weeks ago that Github Actions now supports self-hosted runners. I was planning on beginning automating builds with my beefiest private server (8gb ram, 120gb storage) before the months over. I'll report back my findings in this issue or another. |
Beta Was this translation helpful? Give feedback.
-
@nikolowry is that the one you mentioned takes ~4 hours to build? Is it a bare metal VPS or shared? |
Beta Was this translation helpful? Give feedback.
-
No, the goal is to build Chromium just for releases.
I can also build Chromium on my computer in less than 3 Hours, but what about others(Windows and MacOS)? I just want a to find general solution for all platforms, thats the goal of this discussion. |
Beta Was this translation helpful? Give feedback.
-
@csagan5 Just a heads up, OBS seems to be prohibiting |
Beta Was this translation helpful? Give feedback.
-
I have just downloaded and installed it manually. EDit: still I don't think OBS will keep this free service for all users anyways. |
Beta Was this translation helpful? Give feedback.
-
The fact that someone has run into the problem means there is a possibility that the project can get taken down at some time. Maybe the rules are not enforced so well so we can get around it from time to time, but it does not mean we should rely on such loopholes to make things work. The decision is package maintainer's and I still prefer using Github itself at this time. |
Beta Was this translation helpful? Give feedback.
-
They must refer to the codecs; in this case then I will not try to build it on OBS. |
Beta Was this translation helpful? Give feedback.
-
@csagan5
I'd prefer to use my own hardware tbh, but I don't have enough compute power. Also, the project could also be shut down on github as you are using the chromium tarball with patented stuff as well. Edit: Remember that a law that isn't enforced might as well not exist. It would not be in Google's best interest to just sue everyone who has chromium's tarball stored somewhere. In our case, it could be in google's best interest to just send a C&D or a DMCA to github. Edit 2: Just downloaded the tarball from OpenSUSE's repo and the one my repository uses, the sha256 sums are the same. So, both tarball are the same. There is no need to worry about getting shutdown. |
Beta Was this translation helpful? Give feedback.
-
Technically the file is not saved on Github servers, only exists transiently during build so I'm not sure that's the same thing. Not an expert so I could be wrong on this.
That's interesting. I think the problem with my Android build and probably |
Beta Was this translation helpful? Give feedback.
-
I'm checking that OpenSUSE blacklist page: https://en.opensuse.org/index.php?title=openSUSE:Build_Service_application_blacklist&action=history |
Beta Was this translation helpful? Give feedback.
-
@csagan5 here's a brief overview of building release Duration: 8h23m |
Beta Was this translation helpful? Give feedback.
-
Thank you @everyone. This discussion has been really interesting. I think at the end we need a paid build service to build chromium. No free server would give you the requirements to do such a huge task. Even OBS will stop their free service someday and turn it into paid(I am sure of it, they just want some attention ;) ). Anyways, you guys know better than me, I am new to this project and I just want this browser to be available for anyone. |
Beta Was this translation helpful? Give feedback.
-
Yeah, the ideal solution would be to have a build server, sort of how arch does (pkgbuild.com) , and to have it build for all distros. We could even install the OBS software into that server and just let it do its thing. Of course, that costs money, like 100+ USD per month (speaking from experience). |
Beta Was this translation helpful? Give feedback.
-
@jstkdng Yes, OBS is the best solution atm :) |
Beta Was this translation helpful? Give feedback.
-
@jstkdng @Rowisi If we can have a standalone build server then I will definitely vote for that :) The reason I want to stick with Github at this time is I want to solve this issue and the unit test issue at once, since Actions can be used as a CI too, and part of the test we need for every pull request is it will build successfully. Otherwise we need to configure two different things running build at the same time. @nikolowry Did you try dedicated server from OVH/Hetzner/Kimsufi? VPSs share infrastructure with other users in a virtual machine so the performance is affected, and more importantly are not any cheaper than bare metal servers out there. |
Beta Was this translation helpful? Give feedback.
-
@jstkdng OBS does not blacklist Chromium because it can be sued but simply because the build process of Chromium includes binary parts which get embedded in the final binary. This is allowed by the Chromium project also for redistribution, but the pieces which do not come from sources might be patented thus not open source. They stick to OSI licenses only and they should be praised for that. @wchen342 I do not check anything out with
That would be overkill; if you setup a server for build purposes you can use it with GitHub/GitLab directly.
@jstkdng I think someone should ask them directly, considering also that a sizeable amount of resources would be needed. The patented bits are still there in Chromium and the criteria for not allowing them are the same F-Droid has for inclusion/exclusion.
That would be too expensive and unfortunately not much faster than cheaper options, but thanks for sharing. |
Beta Was this translation helpful? Give feedback.
-
OBS doesn't support alpine,void linux(musl libc) |
Beta Was this translation helpful? Give feedback.
-
Can you use
Github actions
to build and publish pre-compiled binary?I am not experienced with Github actions but I can try and code it for you if you want.
I found an example for a repo written in GO: https://github.com/Jguer/yay/blob/master/.github/workflows/docker-multiarch-tag.yml
Beta Was this translation helpful? Give feedback.
All reactions