-
-
Notifications
You must be signed in to change notification settings - Fork 709
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
Build from source in Vagrant #262
base: master
Are you sure you want to change the base?
Conversation
Hey admins! Can one of you let me know if it's safe to build this pull request? See https://alpha.sandstorm.io/grain/kB7bofATTL2jGuKSFwmqdA/GithubPRCommands for a list of commands. |
Garply, ok to test |
Hi @diracdeltas ! (-: I'm not sure what the default should be here! Or what the best practices are for the Vagrantfile handling both these cases. One possibility is to use an environment variable to dispatch between these. Another is to create a Vagrantfile.dev and tell developers, "You can run:
Then again, I don't think Vagrant actually supports that. Given that, I think the thing I'd be happiest with is presuming that most people using the Vagrantfile are "just" developing apps, not developing Sandstorm itself, and telling Sandstorm core hackers to do:
and let the Vagrantfile dispatch based on that environment variable. Anyway, I'm curious what you think. And thanks for the patch! |
I'm also surprised you don't need to I'm also also curious what git is needed for. I see you added it in the README in this commit; I'd love to fully understand what makes it needed. Also I asked @garply to test it but alas, Garply doesn't currently test the Vagrantfile, so it's sort of just symbolic in this case. (-: |
You can use config.vm.define in the vagrantfile to have two provisioning options I think: http://docs.vagrantup.com/v2/multi-machine/ I don't remember where git was needed; I think some part of the build involved git checkouts. Sorry for brevity; replying on phone |
Now I get a different error. Paging @kentonv -- compile: sandstorm/spk.c++ |
I can confirm As a note to myself, w/r/t http://docs.vagrantup.com/v2/multi-machine/ aka multi-machine, it looks if we are thoughtful, we can make the interface be:
etc., for a setup where we enable app development, and
for a setup where we enable core development. It'll be a little clunky I fear, since the point of multi-machine is that Vagrant actively brings up all machines that are listed. For that reason, I vaguely prefer either:
It would only really matter for initial bring-up, I believe, anyway. If we want the coredev-mode Vagrant to be on a different port -- which iirc we are already considering for the "regular" installer anyway -- then multi-machine mode seems best. I'll sleep on it, but wanted to serialize my brain state here. |
@paulproteus You can tell vagrant not to bring up some of the listed machines; see the 'autostart' section of http://docs.vagrantup.com/v2/multi-machine/, assuming that's what you meant. SecureDrop has an example of a multi-machine Vagrantfile that uses this feature: https://github.com/freedomofpress/securedrop/blob/develop/Vagrantfile |
Just a start; you probably want to define two Vagrant configs for
install.sh
vsinstall-dev.sh
usingconfig.vm.define
so that non-developers don't have to build from source.Warning: not extensively tested.