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

Add github actions as a second continuous integration platform #250

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Add github actions as a second continuous integration platform #250

wants to merge 2 commits into from

Conversation

jonesmz
Copy link
Contributor

@jonesmz jonesmz commented Apr 8, 2020

The reason why this is beneficial to people is because github actions are included in all github accounts, where configuring a continuous integration service like travis CI is not super trivial to do. It's obviously not impossible, since I did it once upon a time, but it's kind of a pain in the rear nevertheless.

So people working on a fork of OZO on github, even if they don't have travis CI, will automatically have their work run through continuous integration, even before they create a pull request for the main OZO repository.

Further, github actions allow up to 20 parallel jobs (5 for macos), which can allow the OZO continuous integration to complete significantly faster.

And lastly, in my experience, on a job per job basis, it's been my experience that github actions are quite a bit faster than travis ci.

Note: This PR includes #249, and then removes ccache usage entirely. This is because the github CI is quite a bit faster than travis, while also having a different security model than travis, making the existing ccaching code more complicated to use. I'd be happy to leave that in if someone can point out how to adjust the github actions environment to be happy with it.

@elsid
Copy link
Collaborator

elsid commented Apr 14, 2020

ccache is used not only for CI. Current configuraiton allows to use it locally. I suggest to add CMAKE_C_COMPILER_LAUNCHER and CMAKE_CXX_COMPILER_LAUNCHER to CMake args in scripts/build.sh to allow custom usage of ccache in the most simple way through environment variables:

cmake \
        -DCMAKE_C_COMPILER_LAUNCHER="${OZO_CMAKE_C_COMPILER_LAUNCHER}" \
        -DCMAKE_CXX_COMPILER_LAUNCHER="${OZO_CMAKE_CXX_COMPILER_LAUNCHER}" \
        ...

with expectation to be used like this:

env OZO_CMAKE_C_COMPILER_LAUNCHER=ccache OZO_CMAKE_CXX_COMPILER_LAUNCHER=ccache scripts/build.sh

and by default it will be disabled.

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

Successfully merging this pull request may close these issues.

2 participants