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] update gitlab CI #170

Merged
merged 1 commit into from Feb 28, 2020
Merged

[CI] update gitlab CI #170

merged 1 commit into from Feb 28, 2020

Conversation

nim65s
Copy link
Contributor

@nim65s nim65s commented Feb 28, 2020

Hi,

This PR updates the gitlab CI configuration from the generated configuration at https://rainboard.laas.fr/project/eigenpy/.gitlab-ci.yml (which is now accessible from the LAAS, or with LAAS credentials, or with a custom account)

This:

  • add the doc-coverage target, to save the generated documentation an code-coverage results
  • add the format target, to check the code formatting (allow_failure is activated here for now), ref https://github.com/gepetto/linters
  • set 18.04 as the main platform (for now, this affects only format & doc-coverage target)
  • allow automatic retries in case of runner failures
  • drop 14.04 checks

Before: https://gepgitlab.laas.fr/stack-of-tasks/eigenpy/pipelines/8522
After: https://gepgitlab.laas.fr/gsaurel/eigenpy/pipelines/8523

from the generated configuration at
https://rainboard.laas.fr/project/eigenpy/.gitlab-ci.yml

This:
- add the doc-coverage target, to save the generated documentation an
  code-coverage results
- add the format target, to check the code formatting (allow_failure is
  activated here for now), ref https://github.com/gepetto/linters
- set 18.04 as the main platform (for now, this affects only format &
  doc-coverage target)
- allow automatic retries in case of runner failures
- drop 14.04 checks
@jmirabel
Copy link
Contributor

Do you think you can make gitlab use ccache ?

@nim65s
Copy link
Contributor Author

nim65s commented Feb 28, 2020

gitlab already uses ccache I think, I'll check.

@nim65s
Copy link
Contributor Author

nim65s commented Feb 28, 2020

I checked, and I think that ccache is correctly configured in this .gitlab-ci.yml, and in the docker images using robotpkg's "ccache-gcc" as "prefered alternative" for compilers.

But I think this is not as helpful as it should be because the jobs are run on many different runners, themselves on many different computers, and I think that there is one cache per runner.

I have been looking for solutions to this for a long time:

If anyone as other / better solutions, this would be really cool… But in fact, I also hope that this will be fixed on the new runner infrastructure with kubernetes we are building at LAAS, as they will probably be really better at sharing their caches :)

@jmirabel
Copy link
Contributor

Maybe artifacts could help.

Copy link
Contributor

@jcarpent jcarpent left a comment

Choose a reason for hiding this comment

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

@nim65s Thanks a lot for the change.

@jcarpent jcarpent merged commit 3d0e343 into stack-of-tasks:devel Feb 28, 2020
@jcarpent
Copy link
Contributor

I will make a new release, as the bug reported in jrl-umi3218/jrl-cmakemodules#333 is now fixed.

@nim65s
Copy link
Contributor Author

nim65s commented Feb 28, 2020

@jmirabel : artifacts is a thing to test, yes, I'll put that in my todolist. But if someone gets results with that, please share :)

@jmirabel
Copy link
Contributor

I said that because I think it's what travis uses (e.g. see https://travis-ci.org/humanoid-path-planner/hpp-fcl/jobs/656176576).

@nim65s
Copy link
Contributor Author

nim65s commented Feb 28, 2020

From this, it looks like this is only about sharing the /home/travis/.ccache folder with other jobs, which is exactly what I'm doing with https://github.com/stack-of-tasks/eigenpy/blob/master/.gitlab-ci.yml#L9 and the ${CI_PROJECT_DIR}/ccache directory.

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