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

unify scripts #91

Closed
6 tasks
casperdcl opened this issue Feb 15, 2018 · 12 comments
Closed
6 tasks

unify scripts #91

casperdcl opened this issue Feb 15, 2018 · 12 comments
Assignees

Comments

@casperdcl
Copy link
Member

casperdcl commented Feb 15, 2018

Build scripts are currently littered everywhere, meaning redundancy and possible inconsistency:

  • SuperBuild/
    • .travis.yml
    • docker/
  • VM
  • SIRF/
    • .travis.yml

We need a new structure:

  • SuperBuild/
    • .travis.yml (refers to scripts/travis/)
    • scripts/ just in the root
      • common/*.sh
      • docker/ (refers to common/)
      • vm/ (refers to common/)
      • travis/ (refers to common/)
      • any mandatory docker/vm config files which require being in a parent directory of common/
  • SIRF
    • .travis.yml (refers to SuperBuild/scripts/travis/)

TODO

  • extract bits of SuperBuild/.travis.yml -> SuperBuild/scripts/travis|common
    • make SIRF/.travis.yml use SuperBuild/scripts/travis
  • move SuperBuild/docker -> SuperBuild/scripts/docker|common|.
  • move VM/ -> VM/scripts/vm|common|.
    • merge VM into SuperBuild
  • 🎉
@paskino
Copy link
Contributor

paskino commented Feb 27, 2018

@casperdcl I don't understand correctly.
Where I to add the VM scripts where should they go?
Additionally, if I understand correctly you plan to move the current SuperBuild files under a SuperBuild directory.

@KrisThielemans
Copy link
Member

I suggest we discuss this in the tcon on Friday. let's not make any changes until after 1.0.0 of course

@casperdcl
Copy link
Member Author

@paskino I'd intended for you to create a "scripts" directory in the root of VM repo. Nothing else should be in the root. "scripts" will contain 2 subfolders: "vm", and "common", which will contain scripts that are vm-specific and generic, respectively. This would make it easy to merge the VM repo with the SuperBuild repo.

@KrisThielemans
Copy link
Member

proposed structure

  • root dir
    • any mandatory docker/vm config files
    • README
    • CHANGES etc
    • .travis.yml (refers to scripts/travis/)
    • .appveyor.yml
  • common_scripts/*.sh
  • docker/ (refers to common/)
  • vm/ (refers to common/)
    • scripts
    • vagrant
  • travis/ (refers to common/)
  • CMake
    • CMakeModules
    • SuperBuild

@KrisThielemans
Copy link
Member

steps.

  1. create new branch on VM
  2. move files according to correct dir structure
  3. create branch in this repo
  4. merge VM branch into that branch this repo
  5. move other files in this repo to correct place
  6. start to move things to common_scripts

@KrisThielemans
Copy link
Member

This is too ambitious for v2.0 I believe. I suggest to postpone

@bathomas
Copy link
Contributor

This is too ambitious for v2.0 I believe. I suggest to postpone

Agree. Should also consider cloud(s) inclusion/exclusion in this.

@KrisThielemans
Copy link
Member

would have to be done such that top-level dir contains CMakeLists.txt for backwards compatibility.

When moving things, would it be better to merge PRs first?

@casperdcl
Copy link
Member Author

merge PRs in the VM repo (https://github.com/CCPPETMR/CCPPETMR_VM/pulls), sure

@paskino
Copy link
Contributor

paskino commented Sep 12, 2019

To resume:

  1. currently our SuperBuild was tested on Ubuntu18.04
  2. We build on 4 different platforms:
    1. VirtualBox via Vagrant
    2. Docker image
    3. Azure cloud
    4. Travis. Possibly this is still running Ubuntu16.04
  3. For each platform we have install scripts. For the VM they are in the VM repo, the others are in the SuperBuild
  4. The naming of the scripts is inconsistent, possibly the same packages are installed by different scripts

So I suggest in addition to #91 (comment) to create a subdirectory ubuntu18.04 in common_scripts . Also lists of pip packages should go in common

@KrisThielemans
Copy link
Member

Regarding python packages, see also SyneRBI/SIRF#124 Of course, Gadgetron (and others?) might need their own packages, so maybe we still need something in the SuperBuild.

And yes, Travis is 16.04 (free version).

@KrisThielemans
Copy link
Member

This is as good as completed now. Probably some scope for cleaning later.

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

4 participants