Build Timeout with TravisCI

I’ve switched one of my snaps (rpcs3-emu) from GitHub Actions to TravisCI due to the Github hosted runners running out of space when building the snap. I don’t believe TravisCI should have this problem, however I haven’t been able to produce a successful build and get the following error message: The job exceeded the maximum time limit for jobs, and has been terminated.. The reason I believe the snap build takes quite some time to build is due to a LLVM submodule dependency being built. Has anyone seen this before with their Snap builds on Travis? If so any ideas how to fix this?

Travis yaml: https://github.com/Nightmayr-snaps/rpcs3-emu-snap/blob/master/.travis.yml

TravisCI has better limits if you go with a payed tier (https://travis-ci.com/plans), albeit this might be a bit taxing for open source. Vendors are usually accommodating if you reach out to them with a specific concern.

The Self Hosted GH Action might be something you could look into as well.

Lastly, not mentioned in the post, but I believe Circle CI has a 5 hour time limit.

Going out of of the CI realm but sticking to the CD part. If this is not to validate pull requests, maybe just hooking up https://snapcraft.io/build is enough.

Here are some useful github actions that you could use if you go that route:


You should be able to get away with turning that off in your build. Use the LLVM from the Ubuntu archives instead.

Gave CircleCI a try as mentioned by @sergiusens, and it built and deployed successfully. Although turns out RPCS3 do have prebuilt LLVM libs (they use a custom fork of LLVM with workarounds for RPCS3 so don’t think I could use LLVM from the archives as suggested by @lucyllewy), this cut down the build time so no longer an issue anymore.

During this experimentation I was wondering about using the snapcraft build service (wouldn’t be able to use it for RPCS3 due to making use of the experimental-package feature, but could use it for some other snaps I maintain). Previously I didn’t use this due to my CI running a few steps before carrying out the snap build. I took a look at the snapcraft remote-build command and it seems like I could make use of this to build my snap. Just wondering can I marry that command with something like Github actions? When I run the command locally it gets me to authenticate through a web browser. Is there a workaround for a CI environment?