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 script #2

Closed
robertodr opened this issue Aug 28, 2017 · 6 comments
Closed

CI script #2

robertodr opened this issue Aug 28, 2017 · 6 comments
Assignees

Comments

@robertodr
Copy link
Collaborator

robertodr commented Aug 28, 2017

The CI script is very simple-minded. Things to improve:

  1. The report dumps all info to screen. Should we agree on a less cluttered output format? EDIT I have also noticed that non-STATUS messages from CMake are printed elsewhere from where you'd expect (separate from the CMake configuration output stream) I suspect CMake might use the stderr instead of stdout for these.
  2. Some of the failing builds, fail the whole CI. But maybe we want to show that some stuff doesn't work. How can we implement an "expected failure" behavior?
  3. It would be good to move the environment variables inside the various subdirectories. I think this will contribute to have cleaner build matrices on the CI services. I have played around with direnv to no avail. Maybe I can get you up to speed with what I've done, before we decide the next steps.
@bast
Copy link
Member

bast commented Aug 28, 2017

All 3 suggestions sound good. Indeed I need to get a bit up to speed first. I will look around in the scripts to get a grasp and then return to this discussion.

@robertodr
Copy link
Collaborator Author

robertodr commented Aug 29, 2017

It works for now, but it could be better. I opened the issue as a reminder to self 😉 A couple more ideas:

  • direnv is great, but it won't work on CI services, or it's too much effort to make it work.
  • I think the easy way out is to have a YAML file in each directory that lists stuff like environment variables. Then in the inner loop of the script, the YAML is parsed and its contentes passed on to subprocess.Popen

@bast
Copy link
Member

bast commented Aug 29, 2017

I like the yaml idea :-) I start working on the recipes/book this weekend.

@robertodr
Copy link
Collaborator Author

I think it is necessary to do this to get meaningful recipes. For example, I can't modify the compiler for just one recipe with -DCMAKE_<LANG>_COMPILER=blabla without doing so for all recipes. If you can do a first pass, I would be grateful (time will be a bit tight for me in the next couple of weeks)

@bast
Copy link
Member

bast commented Aug 31, 2017

I will implement this. Now it's my turn to also do something.

@bast
Copy link
Member

bast commented Oct 1, 2017

  1. done (PR not submitted yet but soon)
  2. split out to own issue: Implement expected failure functionality in CI #33
  3. to be done (once it is done will file a PR)

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

No branches or pull requests

2 participants