mirror of
https://github.com/mail-in-a-box/mailinabox.git
synced 2025-04-01 23:57:05 +00:00
59 lines
1.7 KiB
Ruby
59 lines
1.7 KiB
Ruby
#####
|
|
##### This file is part of Mail-in-a-Box-LDAP which is released under the
|
|
##### terms of the GNU Affero General Public License as published by the
|
|
##### Free Software Foundation, either version 3 of the License, or (at
|
|
##### your option) any later version. See file LICENSE or go to
|
|
##### https://github.com/downtownallday/mailinabox-ldap for full license
|
|
##### details.
|
|
#####
|
|
|
|
def checkout_tag_and_mount(obj, tag)
|
|
if "#{tag}" == ""
|
|
obj.vm.synced_folder "../../..", "/mailinabox", id: "mailinabox", automount: false
|
|
else
|
|
_srcdir="src/maibldap-#{tag}"
|
|
if not Dir.exist?(_srcdir)
|
|
puts "Cloning tag #{tag} to #{_srcdir}"
|
|
if tag.size==40 and tag.match?(/\A[0-9a-fA-F]+\Z/)
|
|
system("git clone #{ENV['MIABLDAP_GIT']} #{_srcdir}")
|
|
system("cd #{_srcdir}; git reset --hard #{tag}")
|
|
else
|
|
system("git clone -b #{tag} --depth 1 #{ENV['MIABLDAP_GIT']} #{_srcdir}")
|
|
end
|
|
end
|
|
obj.vm.synced_folder _srcdir, "/mailinabox", id: "mailinabox", automount: false
|
|
end
|
|
end
|
|
|
|
|
|
Vagrant.configure("2") do |config|
|
|
|
|
checkout_tag_and_mount config, ENV['RELEASE_TAG']
|
|
|
|
config.vm.define "preloaded-ubuntu-bionic64" do |m1|
|
|
m1.vm.box = "ubuntu/bionic64"
|
|
m1.vm.provision :shell, :inline => <<-SH
|
|
cd /mailinabox
|
|
tests/vagrant/preloaded/prepvm.sh --no-dry-run
|
|
rc=$?
|
|
echo "$rc" > "/vagrant/prepcode.txt"
|
|
[ $rc -gt 0 ] && exit 1
|
|
exit 0
|
|
SH
|
|
end
|
|
|
|
config.vm.define "preloaded-ubuntu-jammy64" do |m1|
|
|
m1.vm.box = "ubuntu/jammy64"
|
|
m1.vm.boot_timeout = 30
|
|
m1.vm.provision :shell, :inline => <<-SH
|
|
cd /mailinabox
|
|
tests/vagrant/preloaded/prepvm.sh --no-dry-run
|
|
rc=$?
|
|
echo "$rc" > "/vagrant/prepcode.txt"
|
|
[ $rc -gt 0 ] && exit 1
|
|
exit 0
|
|
SH
|
|
end
|
|
|
|
end
|