ungoogled-software/ungoogled-chromium-macos

Need help with GitHub action

anshul78 opened this issue ยท 7 comments

I am trying to build the binary using actions, but facing some issues.

This is the workflow file.

It might be that your run got terminated because of the time limit โ€“ although it states up to 6 hours execution time, the error message in your log could indicate that the virtual machine was terminated.
Maybe there is/was an error in the calculation of the duration start: 2020-06-09T19:29, end: 2020-06-10T00:44; or something else caused the virtual machine to terminate early.

I had rerun the same build. So the previous logs are not available. But that run terminated around 4 hour mark. This run too, it terminated before 6 hour mark.

Any idea how to modify the code to circumvent the 6 hour limit? Can the build script be broken into 2 or more parts?

Any idea how to modify the code to circumvent the 6 hour limit?

As long as you're not using your own machines/VMs I think this cannot be done, as GitHub imposes that limit and they actually have to pay for the compute resources.


Can the build script be broken into 2 or more parts

Maybe. Although it might be quite tricky to achieve that. See also the discussion here: ungoogled-software/ungoogled-chromium#1062

After a complete run, the code could not go past 34000.

Maybe. Although it might be quite tricky to achieve that.

Since you are more familiar with the code, where do you suggest the script can be broken? I would like to give it a try just to be sure.

Also, following warnings are getting generated.

warning: unknown warning option '-Wno-enum-enum-conversion'; did you mean '-Wno-enum-conversion'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-enum-float-conversion'; did you mean '-Wno-float-conversion'? [-Wunknown-warning-option]
2 warnings generated.

I haven't thought about breaking up the compilation into (sequential) pieces. Maybe that could work too. I thought about trying a different compiler like zappcc for github actions at one point.

Currently, I have a dedicated build system available so implementing anything that works on github actions did not have the highest priority for me โ€“ although it would help a lot in general. Maybe I'll get back to you when I get the time to work on this a bit further.

The idea for splitting is to upload the built sources as an artifact and then have another job download the artifact and continue building. I have set up this workflow that achieves that.
https://github.com/jstkdng/ungoogled-chromium-archlinux/blob/master/.github/workflows/build.yml
@kramred Github doesnt pay anything as it is owned by microsoft and actions use azure vms.

@anshul78 โ€“ I've followed @jstkdng example and set up a workflow for building Ungoogled Chromium using GitHub Actions, see https://github.com/kramred/ungoogled-chromium-macos/tree/build_on_github
I'm waiting for the final version to finish building and will then open a pull request (PR) on the main repo for macOS.
Soon we should have binaries directly from GitHub Actions, and you can also use the workflow to build them yourself.

I'll update in 12-14 h.

It already worked here if you want to grab that binary.
Build times were in the range of 11 to 13 hours.


Update 2020-07-15:
PR #54 addresses building on GitHub. See here for a successful example run.