Use this action to run your CI in FreeBSD
, OpenBSD
, NetBSD
, etc.
name: Build
on: [push]
jobs:
build-on-openbsd:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- uses: leleliu008/github-actions-vagrant@v1
with:
mem: 2048
box: generic/openbsd6
run: |
export AUTOCONF_VERSION=2.69
export AUTOMAKE_VERSION=1.16
export CFLAGS='-I/usr/local/include -L/usr/local/lib'
if [ ! -f /usr/local/lib/libiconv.so ] ; then
sudo ln -s /usr/local/lib/libiconv.so.* /usr/local/lib/libiconv.so
fi
run sudo pkg_add automake-1.16.2
run ./autogen.sh
run ./configure --prefix=/usr
run make
run sudo make install
run file /usr/bin/ctags
run ctags --version
option | required | overview |
---|---|---|
runs-on |
✔︎ | must be macos-* |
run |
✔︎ | the commands you want to run in vm |
box |
✔︎ | the vagrant box name, the most commonly used are generic/freebsd11 generic/freebsd12 generic/netbsd8 generic/netbsd9 generic/openbsd6 , you can find your appropriate box from https://app.vagrantup.com/boxes |
box-version |
✗ | the vagrant box vesion, if unspecified, use the latest version. |
mem |
✗ | the memory size of vm, default value is 2048 MB |
ncpu |
✗ | the cpu core counts of vm, default value is 2 |
log |
✗ | the log level of vagrant, acceptable values: info debug warn error , default value is info |
All the GITHUB_*
environment variables are passed into the VM.
The host machine folder ${GITHUB_WORKSPACE}
has been synchronized into the VM folder ~/${GITHUB_REPOSITORY}
.
The working dir of VM is ~/${GITHUB_REPOSITORY}
you can use run
command in run
option, the defination of run
command as follow:
run() {
printf "\033[0;35m==>\033[0m \033[0;32m%b\n\033[0m" "$*"
$@
}
GitHub Actions
only supports Ubuntu
, Windows
and macOS
out of the box.
However, the macOS
support virtualization. It has VirtualBox
and Vagrant
installed.
So, we can run the FreeBSD
, NetBSD
, OpenBSD
OS in VirbualBox
on macOS
.