diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..7fed24d --- /dev/null +++ b/.travis.yml @@ -0,0 +1,24 @@ +language: generic +dist: bionic +before_install: +- wget https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key + add - && sudo sh -c "echo deb https://download.virtualbox.org/virtualbox/debian + bionic contrib >> /etc/apt/sources.list" && sudo apt-get update && sudo apt-get + install build-essential gcc make linux-headers-$(uname -r) virtualbox-6.1 && sudo + usermod -aG vboxusers $(whoami) +- mkdir output-virtualbox-iso && pushd output-virtualbox-iso && wget https://github.com/sfalexrog/clever_vm/releases/download/v0_base_vm/clever-devel.ova + && popd +script: +- "./build.sh" +deploy: + provider: s3 + access_key_id: XOJXX4IOM66XN7VZAFYX + secret_access_key: $S3_SECRET_KEY + bucket: clovervm + local-dir: output-virtualbox-ovf + upload-dir: ci-builds + acl: public_read + on: + all_branches: true + skip_cleanup: true + endpoint: https://ams3.digitaloceanspaces.com diff --git a/base_vm.json b/base_vm.json index c660e05..2d033f1 100644 --- a/base_vm.json +++ b/base_vm.json @@ -13,10 +13,12 @@ "disk_size": "30000", "hard_drive_interface": "sata", "vboxmanage": [ - ["modifyvm", "{{.Name}}", "--memory", "4096", "--vram", "128", "--mouse", "usbtablet", "--accelerate3d", "on", "--apic", "on", "--rtcuseutc", "on", "--graphicscontroller", "vmsvga", "--nictype1", "virtio"], + ["modifyvm", "{{.Name}}", "--memory", "2048", "--mouse", "usbtablet", "--apic", "on", "--rtcuseutc", "on", "--nictype1", "virtio"], ["storageattach", "{{.Name}}", "--storagectl", "SATA Controller", "--port", "0", "--nonrotational", "on", "--discard", "on"] ], + "headless": "true", + "iso_url": "http://archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/current/images/netboot/mini.iso", "iso_checksum": "bed8a55ae2a657f8349fe3271097cff3a5b8c3d1048cf258568f1601976fa30d", "iso_checksum_type": "sha256", diff --git a/build.sh b/build.sh index 2ee16fc..e9d5bc9 100755 --- a/build.sh +++ b/build.sh @@ -1,20 +1,22 @@ #!/bin/bash -PACKER=$(which packer) +# FIXME: Use system Packer if possible +#PACKER=$(which packer) -if [ "x${PACKER}" == "x" ]; then +#if [ "x${PACKER}" == "x" ]; then +PACKER="./packer" +if [ ! -f ${PACKER} ]; then echo "Packer not found; downloading v1.5.4 from Hashicorp" wget https://releases.hashicorp.com/packer/1.5.4/packer_1.5.4_linux_amd64.zip unzip packer_1.5.4_linux_amd64.zip rm packer_1.5.4_linux_amd64.zip - PACKER="./packer" fi echo "--- Using Packer version $(${PACKER} --version)" echo "--- Building base image" -${PACKER} build base_vm.json +${PACKER} build -only=virtualbox-iso base_vm.json echo "--- Building extended image" diff --git a/ros_ide_vm.json b/ros_ide_vm.json index b30e439..dd06eea 100644 --- a/ros_ide_vm.json +++ b/ros_ide_vm.json @@ -13,8 +13,10 @@ "format": "ova", "guest_additions_mode": "disable", + "headless": "true", + "vboxmanage": [ - ["modifyvm", "{{.Name}}", "--memory", "8192", "--vram", "128", "--mouse", "usbtablet", "--rtcuseutc", "on", "--usb", "on", "--usbxhci", "on", "--nictype1", "virtio"], + ["modifyvm", "{{.Name}}", "--memory", "6144", "--vram", "128", "--mouse", "usbtablet", "--rtcuseutc", "on", "--nictype1", "virtio"], ["storageattach", "{{.Name}}", "--storagectl", "SATA Controller", "--port", "0", "--nonrotational", "on", "--discard", "on"] ], "import_opts": "importtovdi", diff --git a/scripts/installSoftware.sh b/scripts/installSoftware.sh index dc05e02..2b7c96e 100644 --- a/scripts/installSoftware.sh +++ b/scripts/installSoftware.sh @@ -12,6 +12,9 @@ echo "--- Increasing apt retries" sudo -E sh -c 'echo "APT::Acquire::Retries \"3\";" > /etc/apt/apt.conf.d/80-retries' cat /etc/apt/apt.conf.d/80-retries +echo "--- Allowing apt to perform its updates" +sudo -E sh -c 'apt update; while fuser /var/lib/dpkg/lock ; do sleep 0.5 ; done' + echo "--- Installing open-vm-tools" sudo -E sh -c 'apt update; apt install -y open-vm-tools open-vm-tools-desktop'