-
Notifications
You must be signed in to change notification settings - Fork 27
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] add pkg to ci_config #21
Comments
Is it still needed ? |
I don't know, I don't remember what this is exactly about ... :( |
@bremond Any idea ? should I close the issue ? |
I cannot remember very well what it was.
At the moment, what we have is:
1) ci_config is dispatched in some CI/config/*.cmake.
but this concerns only the cmake configuration of the build.
2) The whole configuration of the CI build is given by the task specification (the one that
can be written directly in .travis.yml now) : it gives:
- the name of the already created task in tasks.py (this is not
mandatory and the 'empty' task exists),
- the cmake configuration (so the name of the ci_config file),
- the system distrib (from docker by default, but it can also be the underlying
system with docker=false spec and no distrib spec ==> this targets mac os x builds),
- the "packages" to install (from CI/config/siconos.yml file),
- the different sources path to consider,
- the targets we want at the CI level (for example: docker-build, docker-ctest or docker-build,docker-cmake,docker-make).
it is possible now to remove the CI/tasks.py layer and gives
the kind of build on the command line
for example the TASK line in .travis.yml :
- TASK=default:distrib=ubuntu,14.04
references the default task from CI/tasks.py
It can also be written:
- TASK=empty:docker=true:ci_config=default:distrib=ubuntu,14.04:pkgs=build-base,gcc,gfortran,gnu-c++,atlas-lapack,python-env:srcs=.,:targets=.,docker-build,docker-ctest
(Note that this results, from a build directory under siconos-source, as it is done
on travis and all CI machines, by the command:
../CI/driver.py --run --root-dir=.. --task=empty:docker=true:ci_config=default:distrib=ubuntu,14.04:pkgs=build-base,gcc,gfortran,gnu-c++,atlas-lapack,python-env:srcs=.,:targets=.,docker-build,docker-ctest --packages-db=../CI/config/siconos.yml
And you can run this on your machine if you have the docker command)
This task line seems complicated, but in fact it is a simple way to make
travis dispatch multiple builds (and gitlab also).
We can even imagine to have TASK=$CONFIG_PART1:$CONFIG_PART2[:etc.] in
order to have all builds possible with the possible combinations of
CONFIG_PART1 and CONFIG_PART2
I understand that this issue was probably about to put everything in the
same file, the siconos.yml, (the ci_configs files + task line
specifications + the packages specification). This would be at the cost
of an increase in the complexity of driver.py and CI/machinery/*. I
think this is not urgent...
|
Thanks for writing this documentation. I think we should put that in the CI/README. I'm closing this issue because I don't think it is relevant anymore |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
for some config, a particular package must be installed, otherwise the build will fail at the configure phase, The two have to be synchronize. It would be better if both information are in the same data structure.
The text was updated successfully, but these errors were encountered: