Open KrisThielemans opened 5 years ago
I'm not sure of a concrete solution, but it quite possibly makes sense for the default dependency versions to be somewhere in the SIRF repo, and have SIRF-SuperBuild collect them?
Alternatively, I think this is why the likes of FB, Microsoft, etc. purport to use monorepos.
Not sure what solution is, but just to chime in that I've struggled with this problem in the past, too.
I should add, I'm not convinced a monorepo (i.e., everything in one big repo) is a good idea.
Could CMAKE variables in SIRF be set for recommended versions, and picked up in SIRF-SuperBuild's version_config.cmake? Would this actually even effect the Travis machine?
We are breaking SIRF Travis again because STIR master
is ahead of SIRF, see https://github.com/CCPPETMR/SIRF/pull/608#issuecomment-607049333
I believe that we can restore backwards compatibility in STIR, see https://github.com/UCL/STIR/issues/479. However, I think that our current line forcing Travis to use STIR master
https://github.com/CCPPETMR/SIRF/blob/7ebe03a35a534501cd443278a648a9dbedf32cd9/.travis.yml#L62
should be removed again, and we should rely on SIRF-SuperBuild
and its version_config.cmake
most of the time, certainly after a SIRF PR is merged.
Currently, I see only the following painful way to get Travis green once a STIR update breaks SIRF
STIR_TAG
to master
in SIRF's .travis.yml
version_config.cmake
to update default (i.e. non-devel) tags for SIRF and STIR.travis.yml
to remove the hard-wired STIR_TAG
(obviously the same holds for an update to any of the dependencies).
Until step 3 is completed, the SIRF-SuperBuild will go red, for either the non-devel or the devel build. That seems unavoidable.
explicitly set
STIR_TAG
for all builds
Maybe just do this for some builds? This way some should pass, giving confidence...
Until step 3 is completed, the SIRF-SuperBuild will go red, for either the non-devel or the devel build. That seems unavoidable.
This is, er, surely the point of the devel builds? Feature-not-a-bug?
Until step 3 is completed, the SIRF-SuperBuild will go red, for either the non-devel or the devel build. That seems unavoidable.
This is, er, surely the point of the devel builds? Feature-not-a-bug?
:-) yes and no. Travis for SIRF-SuperBuild should give us some overall status, but when we're updating SIRF-SuperBuild code (as @paskino was doing), you don't want to be bothered by bugs in SIRF/STIR. Tricky balance!
explicitly set
STIR_TAG
for all buildsMaybe just do this for some builds? This way some should pass, giving confidence...
Possibly, but SIRF Travis checks SIRF master
of course. We can try to let SIRF master
cope with different STIR versions, but it's already hard enough! (We do check STIR version in SIRF CMake, but STIR versions move far far too slowly. @rijobro sometimes copes with this by checking for existence of new files, but in this case that wouldn't help. It's of course difficult to keep 2 actively developed projects in sync).
A recent STIR update needed changes in SIRF. This causes a chicken-and-egg problem for Travis as it's using the SIRF-SuperBuild
version_config.cmake
. We cannot change the latter yet, until the SIRF update has been tested on Travis, but without changingversion_config.cmake
, the SIRF Travis builds failed.The solution was to change SIRF
.travis.yml
to explicitly setSTIR_TAG
for all builds (I'm setting it tomaster
for now).Sadly, this is ugly/error-prone as now both SIRF's
.travis.yml
andversion_config.cmake
contain hard-coded STIR versions. At some point, that'll create trouble...any other ideas?