otb merge requestshttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests2019-09-19T08:10:16Zhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/523CI: deploy2019-09-19T08:10:16ZAntoine RegimbeauCI: deployThis MR aims at adding a script to deploy binaries and documentation.
It adds a job that will be triggered on develop branch and on release branch.
For develop branch packages will be pushed as before, in a repository named by it...This MR aims at adding a script to deploy binaries and documentation.
It adds a job that will be triggered on develop branch and on release branch.
For develop branch packages will be pushed as before, in a repository named by its production's date. A symlink latest will be created also.
For released packages will be pushed under a `staging` directory. During RC, one can launch manually a job with the variable `RC_NUMBER` set as follow : rc-0.0 and every packages will be suffix by `-rc-0.0`. 7.0.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/524CI Windows2019-09-19T08:10:11ZGuillaume PaseroCI WindowsEnable Windows jobs compiled for Win10 and Win8.1
Includes steps prepare, build, test and package.
A few modifications made outside CI:
* Fix stack size for Radiometry test (because of 6s)
* Avoid using `_findfirst` and `_findnext` as ...Enable Windows jobs compiled for Win10 and Win8.1
Includes steps prepare, build, test and package.
A few modifications made outside CI:
* Fix stack size for Radiometry test (because of 6s)
* Avoid using `_findfirst` and `_findnext` as they belong to windows internals, they are not usable on Windows Server 2016
* When using GDAL memory dataset (vectorization & rasterization): use the proper cast for buffer pointer, previous code was crashing on Windows Server 2016
* Version tag was omitted in `otb::StandardShader` (causes a crash with Mesa OpenGL)
* Fixes on selftester scripts
* Fixes in OpenCV superbuild, control what is built7.0.0Guillaume PaseroGuillaume Paserohttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/526CI Fix CDash error report2019-09-19T08:10:00ZGuillaume PaseroCI Fix CDash error reportRely on log files rather than CDash API to derive the job status (asynchronous submission issues).
Other fixes:
* artifacts fixed for documentation job
* no need to config git user anymore (done in docker images)
* doxygen only bui...Rely on log files rather than CDash API to derive the job status (asynchronous submission issues).
Other fixes:
* artifacts fixed for documentation job
* no need to config git user anymore (done in docker images)
* doxygen only built for develop and release profiles.
7.0.0Guillaume PaseroGuillaume Paserohttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/529CI Refactor Configure.xml parsing2019-06-27T13:06:17ZGuillaume PaseroCI Refactor Configure.xml parsingSmall refac to simplify cdash_handler.py
Also check if it solves the silently failing after_scriptsSmall refac to simplify cdash_handler.py
Also check if it solves the silently failing after_scriptsGuillaume PaseroGuillaume Paserohttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/533CI: Clear obsolete instructions and clarify YAML structure2019-06-27T13:09:54ZGuillaume PaseroCI: Clear obsolete instructions and clarify YAML structureSmall refac of YAML for lisibility
The `git lfs install` is now done in the containers.Small refac of YAML for lisibility
The `git lfs install` is now done in the containers.Guillaume PaseroGuillaume Paserohttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/536CI Fixes episode N2019-09-19T08:08:13ZGuillaume PaseroCI Fixes episode NA bunch of fixes/improvements for new CI:
* Clarification of YAML structure
* Improvements of `cdash_handler` script
* Handling of CI on forks:
- deploy jobs reserved for main repository
- API token is now optional (warning message ...A bunch of fixes/improvements for new CI:
* Clarification of YAML structure
* Improvements of `cdash_handler` script
* Handling of CI on forks:
- deploy jobs reserved for main repository
- API token is now optional (warning message if missing token)
* Special job to build a container with a tagged release
* Reduce warnings for Linux packaging7.0.0Guillaume PaseroGuillaume Paserohttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/538Ci contributing update2019-09-19T08:08:03ZGuillaume PaseroCi contributing updateUpdate of contributing guidelines regarding new CI platform.
The CONTRIBUTING.md contains the essential user-oriented informations. The details are left in a [wiki page](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/OTB-Contin...Update of contributing guidelines regarding new CI platform.
The CONTRIBUTING.md contains the essential user-oriented informations. The details are left in a [wiki page](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/OTB-Continuous-Integration-platform).7.0.0Guillaume PaseroGuillaume Paserohttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/539Add QA related jobs to CI pipeline2019-09-19T08:07:56ZSébastien DinotAdd QA related jobs to CI pipelineThis MR aims to add jobs related to QA (Quality Assurance) to OTB CI pipeline by:
1. Playing the unit tests and convert the report from CTest format to JUnit format (SonarQube only supports JUnit format for UT reports)
2. Running static...This MR aims to add jobs related to QA (Quality Assurance) to OTB CI pipeline by:
1. Playing the unit tests and convert the report from CTest format to JUnit format (SonarQube only supports JUnit format for UT reports)
2. Running static analysis on source code thanks to [CppCheck](http://cppcheck.sourceforge.net/)
3. Sending the below reports to SonarQube thanks to Sonar Scanner
The [resulting QA report](https://sonar.orfeo-toolbox.org/dashboard?id=orfeotoolbox-otb) is available in SonarQube.7.0.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/543CI coverage2019-09-19T08:07:44ZGuillaume PaseroCI coverageBrings coverage estimation to the QA jobs:
* The coverage doesn't take into account the lines of code in:
- `Modules/*/*/test`
- `Modules/ThirdParty`
- `Examples`
* The coverage build is now in Debug
* Some tests have been m...Brings coverage estimation to the QA jobs:
* The coverage doesn't take into account the lines of code in:
- `Modules/*/*/test`
- `Modules/ThirdParty`
- `Examples`
* The coverage build is now in Debug
* Some tests have been modified to take less time (running the tests on this build is a lot slower)
* The QA jobs are disabled if no Sonar token is present
Although empty on SonarQube dashboard, the coverage after merging this branch should be around 59%7.0.0Guillaume PaseroGuillaume Paserohttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/546CI: Use clang for ubuntu superbuild2022-05-02T08:22:00ZCédric TraizetCI: Use clang for ubuntu superbuild#### Summary
Use clang when compiling xdk on ubuntu CI jobs.
#### Rationale
In CI ubuntu jobs, the Superbuild xdk is currently compiled with gcc while otb is compiled with clang.
In particular, this means that ITK is compiled with g...#### Summary
Use clang when compiling xdk on ubuntu CI jobs.
#### Rationale
In CI ubuntu jobs, the Superbuild xdk is currently compiled with gcc while otb is compiled with clang.
In particular, this means that ITK is compiled with gcc whereas otb is compiled with clang. This is not a problem if we want to compile otb using ITK4: ITK uses the cmake `WriteCompilerDetectionHeader` function, which produces headers defining the allowed compilers when including ITK files. In ITK4 the list of allowed compilers is fixed (AppleClang Clang GNU MSVC SunPro and Intel) but in ITK5 the only compiler allowed is the one used to compile ITK.
Therefore we should use the same compiler for ITK and OTB
#### Copyright
The copyright owner is *CNES* and has signed the ORFEO ToolBox Contributor License Agreement.
<hr>
***Check before merging:***
- All discussions are resolved
- At least 2 :thumbsup: votes from core developers, no :thumbsdown: vote.
- The feature branch is (reasonably) up-to-date with the base branch
- Dashboard is green
- Copyright owner has signed the ORFEO ToolBox Contributor License Agreement
- Optionally, run `git diff develop... -U0 --no-color | clang-format-diff.py -p1 -i` on latest changes and commitCédric TraizetCédric Traizethttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/550CI Artifacts2019-09-19T08:07:12ZGuillaume PaseroCI Artifacts* move some artifacts at the root level to be more visibles
* change name of the job generating documentation* move some artifacts at the root level to be more visibles
* change name of the job generating documentation7.0.0Guillaume PaseroGuillaume Paserohttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/556CI simple contributing2019-09-19T08:06:51ZGuillaume PaseroCI simple contributingSmall updates for CONTRIBUTING.md (keep only the minimal level of information, details go to wiki).
Removed deprecated steps in HowToReleaseSmall updates for CONTRIBUTING.md (keep only the minimal level of information, details go to wiki).
Removed deprecated steps in HowToRelease7.0.0Guillaume PaseroGuillaume Paserohttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/558CI: fixing cdash links on forks2019-09-19T08:06:30ZGuillaume PaseroCI: fixing cdash links on forksThe cdash links are a bit tricky when doing MR between a fork and the official repo:
* normally, the [statuses](https://docs.gitlab.com/12.0/ee/api/commits.html#post-the-build-status-to-a-commit) API should be used on the target project...The cdash links are a bit tricky when doing MR between a fork and the official repo:
* normally, the [statuses](https://docs.gitlab.com/12.0/ee/api/commits.html#post-the-build-status-to-a-commit) API should be used on the target project (because it is the one carrying the MR)
* however, the personal API token of the contributor may not allow to use Gitlab API on the official repository.
* but, it appears that using the fork ID and the default `CI_COMMIT_REF_NAME` as the `ref` parameter of `statuses` will send the links to the MR pipeline, maybe because in this particular case it also has the tag `latest` ...
Anyway, to illustrate this obscure issue, some example with different `id` and `ref` parameters for the `statuses` API:
* https://gitlab.orfeo-toolbox.org/atalon/otb/commit/64d95abbffc94732908588436e4636bbd9a78708/pipelines : pipeline 2090 with `id` = fork's ID and `ref = refs/merge-requests/541/head` : the MR is unknown in the fork project, so a blank pipeline is created (n° 2092) and received all the CDash links from pipeline 2090.
* https://gitlab.orfeo-toolbox.org/atalon/otb/commit/a15d589d8e4d438360874c89476e6f61f8d5632e/pipelines : pipeline 2262 with `id` = main repo ID and `ref = refs/merge-requests/555/head` : I get a HTTP Error 403, the user can't post statuses on the main repo. I manually ran the pipeline 2261 (`id` = fork's ID and `ref= $CI_COMMIT_REF_NAME` ) to see where the cdash link would go, and it went into pipeline 2262.
* https://gitlab.orfeo-toolbox.org/atalon/otb/commit/b77b5d957aa01f14ceb6af89211390097f46f2ff/pipelines : pipeline 2264 with `id` = fork's ID and `ref= $CI_COMMIT_REF_NAME` , the links are posted in the right pipeline.7.0.0Guillaume PaseroGuillaume Paserohttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/559DOC: add badges for CI and coverage2019-09-19T08:06:26ZGuillaume PaseroDOC: add badges for CI and coverageAdd badges in the README.md
Given this small MR, I will skip the full MR pipeline on purpose. This is why I add the ~patch label.Add badges in the README.md
Given this small MR, I will skip the full MR pipeline on purpose. This is why I add the ~patch label.7.0.0Guillaume PaseroGuillaume Paserohttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/563CI move Superbuild Artifact repository2019-09-19T08:06:01ZGuillaume PaseroCI move Superbuild Artifact repositoryThe repository for XDK is moved to `orfeotoolbox` group.
Also, the `IMAGE_NAME` are renamed to OS-VERSION-COMPILER for more clarity.The repository for XDK is moved to `orfeotoolbox` group.
Also, the `IMAGE_NAME` are renamed to OS-VERSION-COMPILER for more clarity.7.0.0Guillaume PaseroGuillaume Paserohttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/571BUG: fix parameter expansion in otbenv2019-09-19T08:04:53ZGuillaume PaseroBUG: fix parameter expansion in otbenvProblem with paths containing spaces (as shown [here](https://travis-ci.org/gpo-geo/remote-module-template-ci/jobs/568719671) ). Now uses `"$@"` for safe expansion of parameters.Problem with paths containing spaces (as shown [here](https://travis-ci.org/gpo-geo/remote-module-template-ci/jobs/568719671) ). Now uses `"$@"` for safe expansion of parameters.7.0.0Guillaume PaseroGuillaume Paserohttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/574Deploy cookbook2020-02-07T16:32:53ZAntoine RegimbeauDeploy cookbook#### Summary
This MR aims at updating the deploy job, and deploy rc job. The job also deploys the cookbook now.
#### Copyright
The copyright owner is *CNES* and has signed the ORFEO ToolBox Contributor License Agreement.
<hr>
***Chec...#### Summary
This MR aims at updating the deploy job, and deploy rc job. The job also deploys the cookbook now.
#### Copyright
The copyright owner is *CNES* and has signed the ORFEO ToolBox Contributor License Agreement.
<hr>
***Check before merging:***
- All discussions are resolved
- At least 2 :thumbsup: votes from core developers, no :thumbsdown: vote.
- The feature branch is (reasonably) up-to-date with the base branch
- Dashboard is green
- Copyright owner has signed the ORFEO ToolBox Contributor License Agreement
- Optionally, run `git diff develop... -U0 --no-color | clang-format-diff.py -p1 -i` on latest changes and commit7.1.0Cédric TraizetCédric Traizethttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/581Contributors check2019-09-19T08:04:31ZSébastien DinotContributors checkThe shell script and the modification of the CI script provided by this merge request aim to identify the unknown authors (i.e. authors of commits not listed in an external reference file) to invite the team to check if these authors hav...The shell script and the modification of the CI script provided by this merge request aim to identify the unknown authors (i.e. authors of commits not listed in an external reference file) to invite the team to check if these authors have already signed the contributor license agreement (CLA). When this is done, the authors must be added to the reference list.7.0.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/582Script to setup a namespace for OTB imported targets2019-09-19T08:04:25ZGuillaume PaseroScript to setup a namespace for OTB imported targetsThis script allows to protect the imported target in OTB install with a namespace. By default, when doing `find_package(OTB)`, OTB libraries, applications and executables are declared as `IMPORTED` targets. But if a target name is in con...This script allows to protect the imported target in OTB install with a namespace. By default, when doing `find_package(OTB)`, OTB libraries, applications and executables are declared as `IMPORTED` targets. But if a target name is in conflict with your project, CMake will throw an error.
Let say I want to build SertitObject remote module as standalone. The target `otbapp_Aggregate` may be declared twice: in the OTB package, and in SertitObject sources.
With the script, `NamespaceHandler.cmake`, you can set a namespace in front of all `IMPORTED` targets of OTB install tree.
For instance, calling:
> ctest -DNAMESPACE:STRING="NS" -S NamespaceHandler.cmake
will transform `otbapp_Aggregate` into `NS::otbapp_Aggregate`. The double colon also has a special meaning for target names: CMake will check that the target is either an `IMPORTED` or `ALIAS`.
Note: this script will be used for the CI of remote module SertitObject, and maybe other remote modules that are already in OTB standalone packages.7.0.0Guillaume PaseroGuillaume Paserohttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/584Fixes for NamespaceHandler2019-09-18T13:28:32ZGuillaume PaseroFixes for NamespaceHandlerTwo fixes for the NamespaceHandler:
* there was target names in `OTBStandaloneModuleMacros` that needed to be patched as well
* there was a `OTBApplicationEngine` in `OTBApplicationMacros`, but it should not be here, the dependency to O...Two fixes for the NamespaceHandler:
* there was target names in `OTBStandaloneModuleMacros` that needed to be patched as well
* there was a `OTBApplicationEngine` in `OTBApplicationMacros`, but it should not be here, the dependency to OTBApplicationEngine should be in the DEPENDS from `otb-module.cmake`7.0.0Guillaume PaseroGuillaume Pasero