Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Use Github Actions instead Travis CI #38433

Closed
wants to merge 3 commits into from

Conversation

qarmin
Copy link
Contributor

@qarmin qarmin commented May 3, 2020

This is only Proof of Concept which I'll probably never finish, so if you want to do this better feel free to create your own PR based on this.

For the time being, I see this advantages of Github over Travis

  • more concurrent jobs (20 vs 2)
  • more minutes unitl job will fail(6h vs 1h)
  • more time until workflow will fail(72h vs 2h)
  • heavily integrations with Github with plugins

This PR isn't complete and this things should be fixed:

  • fix linux, android builds
  • for now there is no cache, but this is must be feature(https://github.com/marketplace/actions/cache)
  • add real editor/project manager tests with help virtual X destkop(Cannot run Godot on virtual X desktop with xvfb-run and lavapipe #38428 for now this is unavailable in master branch) - code which only run project manager is commented due to crashes from attached issue
  • adding artifacts with generated binaries(I can't find information how long are stored or how big is space limit)
  • clean-up code - travis yml was pretty formated and have 150 lines of text, github actions yml is ugly, and is ~2x bigger than travis

There is commented Cppcheck step because it took over 1h, and this is too much for checking.
I suggest move this to new file and execute it on different branch to execute it e.g. once per week.
Also should be also added support to Sonarcloud and maybe even Coverity Scan(dropped in past) which can take as base this gitlab-ci.yml file - https://gitlab.com/qarmin/godot/-/blob/master/.gitlab-ci.yml

Example of Sonarcloud project - https://sonarcloud.io/dashboard?id=qarmin_godot

Here is example of simple and good github actions integrations in Assimp - https://github.com/assimp/assimp/actions

Example outputs/jobs - https://github.com/qarmin/godot/actions/runs/94442494, https://github.com/qarmin/godot/actions

@Calinou
Copy link
Member

Calinou commented May 3, 2020

Great work 🙂

In March, I started working on a WIP branch to migrate Godot's CI to GitHub Actions, but this PR seems more complete so far.

add real editor/project manager tests with help virtual X destkop(#38428 for now this is unavailable in master branch) - code which only run project manager is commented due to crashes from attached issue

This is not critical for now. It can be added in a future PR.

There is commented Cppcheck step because it took over 1h, and this is too much for checking.
I suggest move this to new file and execute it on different branch to execute it e.g. once per week.

It can be run on the same branch, just with a different schedule. IIRC, the job definition can also be located in the same file.

adding artifacts with generated binaries(I can't find information how long are stored or how big is space limit)

Artifacts expire after 90 days (unless you set a lower duration yourself). From what I've seen in GitHub's Billing settings, you can use up to 2 GB of storage per account/organization with a free account. In our case, we should probably make the storage duration short to avoid running out of space. If we need it, we could contact GitHub support to ask for more storage space.

@Calinou Calinou marked this pull request as draft May 3, 2020 12:01
@RevoluPowered
Copy link
Contributor

Thanks for doing this, really appreciated it, I created a branch with caching and the windows build just to remove appveyor it was annoying me.

Added the caching and some python versioning tools which make it more generic and cross-platform to setup python :) which is really cool actually.

@akien-mga
Copy link
Member

Closing as superseded by #40282, #40335 and #40131
We still have mobile/web builds to port to GitHub Actions, but it should be relatively easy now that the work is done for desktop, including caching.

@akien-mga akien-mga closed this Jul 20, 2020
@akien-mga akien-mga added this to the 4.0 milestone Jul 20, 2020
@follower
Copy link
Contributor

Seems unrelated to #40131? Was that a typo?


Also: something, something, monopolies...

@akien-mga
Copy link
Member

That was a typo yes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants