Skip to content

First take on FreeBSD CI.

Gleb Popov requested to merge arrowd/ghc:freebsd-ci into master

This is a first take on adding FreeBSD CI to GHC project.

The CI runner is going to be implemented as VirtualBox runner. The following Vagrantfile can be used to bring the VM up:

Vagrant.configure("2") do |config|

  #config.vm.box = "freebsd/FreeBSD-11.3-RELEASE"
  config.vm.box = "freebsd/FreeBSD-12.0-RELEASE"

  config.vm.guest = :freebsd

  config.ssh.shell = "sh"

  config.vm.synced_folder ".", "/vagrant", id: "vagrant-root", disabled: true

  config.vm.boot_timeout = 600

  config.vm.provision "shell",
    inline: $script
end

$script = <<-SCRIPT
mkdir -p /usr/local/etc/pkg/repos/
echo 'FreeBSD: { url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest" }' > /usr/local/etc/pkg/repos/FreeBSD.conf
pkg install -y git bash gitlab-runner
SCRIPT

To create a VM run vagrant up --provision inside a directory. This Vagrantfile can be used to create both FreeBSD 11 and FreeBSD 12 images. I'm not sure if we want to run CI on both supported FreeBSD versions.

Of course, I couldn't test it before submitting a PR, but I'll be around providing any support required to fix arising problems.

Closes #16134 (closed).

Edited by Ben Gamari

Merge request reports