Navigation Menu

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

CI - generator script for cmake and github actions #210

Closed
wants to merge 8 commits into from

Conversation

xnorpx
Copy link
Contributor

@xnorpx xnorpx commented Nov 22, 2020

First iteration of proposal of CI generator script for cmake and github actions.

The script will generate a yaml file for github actions, currently different combinations of build settings and desktop x86|x64 is built.

There is plenty of todo that is not considered in this commit:

  • autotools support
  • meson support
  • gitlab support
  • ios, android, arm
  • custom scripts (whitespace check etc.)
    etc.

@xnorpx
Copy link
Contributor Author

xnorpx commented Nov 22, 2020

Not sure, why the actions is not showing up here. They might need to be activated. Here is actions running on my fork.

https://github.com/xnorpx/opus/actions/runs/376994457

@rillian @mark4o

@xnorpx
Copy link
Contributor Author

xnorpx commented Nov 22, 2020

Looks like github actions needs to be activated, they run fine as pr in my fork.

Copy link
Contributor

@rillian rillian left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for writing this. It looks like a good start, and is certainly an improvement over our current github coverage! :)

My immediate question is whether there's a way to have an action run the generator, instead of having cmake.yml checked into version control, with the attendant problems that causes. I think we talked about this before, but I don't remember the answer.

Having seen it all written out, I guess we'll always have to deal with issues specific to each ci and build platform, so it's not actually possible to put every definition in one place. Still, I think it's worthwhile having the script to write out the matricies (RIP travis-ci) and avoid duplicating as much as we can.

If you can follow up on my questions, I'm ok with it landing with the current design. In the meantime I'll see if I can get it generating .gitlab-ci.yml as well.

scripts/github_action.py Outdated Show resolved Hide resolved
scripts/github_action.py Outdated Show resolved Hide resolved
.github/workflows/cmake.yml Show resolved Hide resolved
@xnorpx
Copy link
Contributor Author

xnorpx commented Nov 30, 2020

@rillian I think the autogenerating as CI step is probably just gonna add complexity, maybe easy todo in one ci system but hard in another etc. However, maybe we can add a actual CI step that runs the generation on the CI server and do a diff on the generated files to make sure they are updated and commited, this should work across CI systems (assuming they have python) and can act as a sanity check.

@xnorpx
Copy link
Contributor Author

xnorpx commented Nov 30, 2020

I have some work to catch up to after holiday so will work on this end of week hopefully.

@xnorpx
Copy link
Contributor Author

xnorpx commented Dec 4, 2020

I will look into verification of the generation and I have some other todos I would like to polish i.e. no merge yet.

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.

None yet

3 participants