]> git.openstreetmap.org Git - nominatim.git/blobdiff - Vagrantfile
Vagrant and CI tests for Ubuntu 22.04
[nominatim.git] / Vagrantfile
index 1356109e1c7ba04523dcbdaf6cd85e83ad83a45b..033e1507deabf1320256d4687124cd48f90ae5b7 100644 (file)
 
 Vagrant.configure("2") do |config|
   # Apache webserver
-  config.vm.network "forwarded_port", guest: 8089, host: 8089
+  config.vm.network "forwarded_port", guest: 80, host: 8089
+  config.vm.network "forwarded_port", guest: 8088, host: 8088
 
   # If true, then any SSH connections made will enable agent forwarding.
   config.ssh.forward_agent = true
 
-  #config.vm.synced_folder ".", "/home/vagrant/Nominatim"
+  # Never sync the current directory to /vagrant.
+  config.vm.synced_folder ".", "/vagrant", disabled: true
 
-  config.vm.define "ubuntu" do |sub|
-      sub.vm.box = "ubuntu/trusty64"
-      sub.vm.provision :shell, :path => "vagrant/ubuntu-trusty-provision.sh"
+  checkout = "yes"
+  if ENV['CHECKOUT'] != 'y' then
+    checkout = "no"
   end
-  config.vm.define "centos" do |sub|
-      sub.vm.box = "bento/centos-7.2"
-      sub.vm.provision :shell, :path => "vagrant/centos-7-provision.sh"
+
+  config.vm.provider "virtualbox" do |vb, override|
+    vb.gui = false
+    vb.memory = 2048
+    vb.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate//vagrant","0"]
+    if ENV['CHECKOUT'] != 'y' then
+      override.vm.synced_folder ".", "/home/vagrant/Nominatim"
+    end
   end
 
-  # configure shared package cache if possible
-  #if Vagrant.has_plugin?("vagrant-cachier")
-  #  config.cache.enable :apt
-  #  config.cache.scope = :box
-  #end
+  config.vm.provider "libvirt" do |lv, override|
+    lv.memory = 2048
+    lv.nested = true
+    if ENV['CHECKOUT'] != 'y' then
+      override.vm.synced_folder ".", "/home/vagrant/Nominatim", type: 'nfs'
+    end
+  end
 
+  config.vm.define "ubuntu", primary: true do |sub|
+      sub.vm.box = "generic/ubuntu2004"
+      sub.vm.provision :shell do |s|
+        s.path = "vagrant/Install-on-Ubuntu-20.sh"
+        s.privileged = false
+        s.args = [checkout]
+      end
+  end
 
-  config.vm.provider "virtualbox" do |vb|
-    vb.gui = false
-    vb.customize ["modifyvm", :id, "--memory", "2048"]
+  config.vm.define "ubuntu-apache" do |sub|
+      sub.vm.box = "generic/ubuntu2004"
+      sub.vm.provision :shell do |s|
+        s.path = "vagrant/Install-on-Ubuntu-20.sh"
+        s.privileged = false
+        s.args = [checkout, "install-apache"]
+      end
+  end
+
+  config.vm.define "ubuntu-nginx" do |sub|
+      sub.vm.box = "generic/ubuntu2004"
+      sub.vm.provision :shell do |s|
+        s.path = "vagrant/Install-on-Ubuntu-20.sh"
+        s.privileged = false
+        s.args = [checkout, "install-nginx"]
+      end
   end
 
+  config.vm.define "ubuntu18" do |sub|
+      sub.vm.box = "generic/ubuntu1804"
+      sub.vm.provision :shell do |s|
+        s.path = "vagrant/Install-on-Ubuntu-18.sh"
+        s.privileged = false
+        s.args = [checkout]
+      end
+  end
 
-  # config.vm.provider :digital_ocean do |provider, override|
-  #   override.ssh.private_key_path = '~/.ssh/id_rsa'
-  #   override.vm.box = 'digital_ocean'
-  #   override.vm.box_url = "https://github.com/smdahlen/vagrant-digitalocean/raw/master/box/digital_ocean.box"
+  config.vm.define "ubuntu18-apache" do |sub|
+      sub.vm.box = "generic/ubuntu1804"
+      sub.vm.provision :shell do |s|
+        s.path = "vagrant/Install-on-Ubuntu-18.sh"
+        s.privileged = false
+        s.args = [checkout, "install-apache"]
+      end
+  end
+
+  config.vm.define "ubuntu18-nginx" do |sub|
+      sub.vm.box = "generic/ubuntu1804"
+      sub.vm.provision :shell do |s|
+        s.path = "vagrant/Install-on-Ubuntu-18.sh"
+        s.privileged = false
+        s.args = [checkout, "install-nginx"]
+      end
+  end
+
+  config.vm.define "centos7" do |sub|
+      sub.vm.box = "centos/7"
+      sub.vm.provision :shell do |s|
+        s.path = "vagrant/Install-on-Centos-7.sh"
+        s.privileged = false
+        s.args = [checkout]
+      end
+  end
+
+  config.vm.define "centos" do |sub|
+      sub.vm.box = "generic/centos8"
+      sub.vm.provision :shell do |s|
+        s.path = "vagrant/Install-on-Centos-8.sh"
+        s.privileged = false
+        s.args = [checkout]
+      end
+  end
 
-  #   provider.token = ''
-  #   # provider.token = 'YOUR TOKEN'
-  #   provider.image = 'ubuntu-14-04-x64'
-  #   provider.region = 'nyc2'
-  #   provider.size = '512mb'
-  # end
 
 end