1+ Vagrant . require_version ">= 1.7.0"
2+
3+ def configure_vm ( name , config )
4+ config . vm . provider "virtualbox" do |v |
5+ v . memory = ( ENV [ 'VM_MEM' ] || 4096 ) . to_i
6+ v . cpus = ( ENV [ 'VM_CPU' ] || 2 ) . to_i
7+ v . name = "llvm2graphml-#{ name } "
8+ end
9+ end
10+
11+ Vagrant . configure ( 2 ) do |config |
12+
13+ config . vm . define "ubuntu18" do |cfg |
14+ cfg . vm . box = "ubuntu/bionic64"
15+ cfg . ssh . insert_key = false
16+ cfg . ssh . forward_agent = true
17+
18+ configure_vm ( "ubuntu18" , cfg )
19+
20+ cfg . vm . provision "shell" , inline : "apt-get install -y python"
21+ config . vm . provision "shell" , inline : <<-SHELL
22+ mkdir -p ~/.ssh
23+ chmod 700 ~/.ssh
24+ ssh-keyscan -t rsa -H github.com >> ~/.ssh/known_hosts
25+ SHELL
26+
27+ cfg . vm . provision "ansible" do |ansible |
28+ ansible . verbose = "v"
29+ ansible . playbook = "ubuntu-playbook.yaml"
30+ ansible . extra_vars = {
31+ llvm_version : ENV [ 'LLVM_VERSION' ] || '9.0.0' ,
32+ gitref : ENV [ 'GITREF' ] || 'master' ,
33+ }
34+ end
35+ end
36+
37+ config . vm . define "macos" do |cfg |
38+ cfg . vm . box = "yzgyyang/macOS-10.14"
39+ cfg . ssh . insert_key = false
40+ cfg . ssh . forward_agent = true
41+
42+ configure_vm ( "macOS" , cfg )
43+
44+ cfg . vm . synced_folder "." , "/vagrant" , disabled : true
45+ cfg . vm . provision "ansible" do |ansible |
46+ ansible . verbose = "v"
47+ ansible . playbook = "macos-playbook.yaml"
48+ ansible . extra_vars = {
49+ llvm_version : ENV [ 'LLVM_VERSION' ] || '9.0.0' ,
50+ gitref : ENV [ 'GITREF' ] || 'master' ,
51+ }
52+ end
53+ end
54+
55+ end
0 commit comments