Skip to content

FreeBSD

FreeBSD #707

Workflow file for this run

name: FreeBSD
on:
schedule:
- cron: '0 1 * * *'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
env:
VERSION: ${{ secrets.VERSION }}
ARCH: ${{ matrix.target }}
SUFFIX: ${{ matrix.suffix }}
LINKFLAGS: ${{ matrix.linkflags }}
ROSWELL_BRANCH: master
GH_USER: ${{ github.repository_owner }}
GH_REPO: sbcl_bin
GITHUB_OAUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
strategy:
fail-fast: false
matrix:
suffix: ['', '-13.2', '-13.3', '-14.0', '-14.1']
target: ['x86-64', 'x86', 'arm64']
include:
# default lisp used is sbcl-bin/2.4.8
- lisp: 'sbcl-bin/2.4.8'
- { suffix: '' ,release: '13.3'}
- { suffix: '-13.2',release: '13.2'}
- { suffix: '-13.3',release: '13.3'}
- { suffix: '-14.0',release: '14.0'}
- { suffix: '-14.1',release: '14.1'}
environment: SET_VERSION
steps:
- uses: actions/checkout@v4
- if: ${{ matrix.target != 'x86' }}
name: Test on FreeBSD
uses: cross-platform-actions/[email protected]
with:
environment_variables: VERSION ARCH IMAGE SUFFIX LINKFLAGS GH_USER GH_REPO GITHUB_OAUTH_TOKEN
operating_system: freebsd
architecture: ${{ matrix.target == 'x86' && 'x86-64' || matrix.target }}
version: ${{ matrix.release }}
shell: bash
run: |
uname -a
freebsd-version
whoami
pwd
sudo env IGNORE_OSVERSION=yes pkg update -f
sudo pkg install -y bash roswell autoconf texinfo perl5 gmake gcc libffi git
ros install ${{ matrix.lisp }}
ros install snmsts/sn.github
gmake zstd
sudo bash -c 'cd zstd/lib; gmake PREFIX=/usr CFLAGS="-fPIC" install-includes install-static clean'
if [ "$VERSION" = "" ]; then
sudo -E gmake latest-version sbcl precompile-freebsd compile postcompile-freebsd archive upload-archive;
else
sudo -E gmake sbcl precompile-freebsd compile postcompile-freebsd archive upload-archive;
fi
- if: ${{ matrix.target == 'x86' }}
name: Test on FreeBSD
id: test
uses: vmactions/freebsd-vm@v1
with:
release: ${{ matrix.release }}
envs: 'VERSION ARCH IMAGE SUFFIX LINKFLAGS GH_USER GH_REPO GITHUB_OAUTH_TOKEN'
usesh: true
prepare: |
pkg install -y bash roswell autoconf texinfo perl5 gmake gcc libffi git
ros install ${{ matrix.lisp }}
ros install snmsts/sn.github
run: |
gmake zstd
bash -c 'cd zstd/lib; gmake PREFIX=/usr LIBDIR=/usr/lib32 CFLAGS="-m32 -fPIC" install-includes install-static clean'
if [ "$VERSION" = "" ]; then
gmake latest-version sbcl precompile-freebsd compile postcompile-freebsd archive upload-archive;
else
gmake sbcl precompile-freebsd compile postcompile-freebsd archive upload-archive;
fi