Skip to content

NetBSD

NetBSD #78

Workflow file for this run

name: NetBSD
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:
UNAME: ${{ matrix.os }}
VERSION: ${{ secrets.VERSION }}
ARCH: ${{ matrix.target }}
SUFFIX: ${{ matrix.suffix }}
LINKFLAGS: ${{ matrix.linkflags }}
ROSWELL_BRANCH: master
SBCL_PATCH: ${{ matrix.sbclpatch }}
SBCL_OPTIONS: ${{ matrix.sbcloptions }}
GITHUB_OAUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
strategy:
fail-fast: false
matrix:
sbclpatch: ["20240924_netbsd-m32"]
suffix: ['', '-10.0', '-9.4', '-9.3', '-9.2']
target: ['x86-64', 'arm64', 'x86']
exclude:
- {suffix: -9.4,target: arm64}
- {suffix: -9.3,target: arm64}
- {suffix: -9.2,target: arm64}
include:
# default lisp used is sbcl-bin/2.4.8
- lisp: 'sbcl-bin/2.4.8'
os: netbsd
sbcloptions: --fancy
- target: x86
sbclpatch: 20240924_netbsd-m32
sbcloptions: '--without-sb-thread --with-sb-core-compression --with-sb-xref-for-internals --with-sb-after-xc-core'
- { suffix: '' ,release: '10.0'}
- { suffix: '-10.0',release: '10.0'}
- { suffix: '-9.4' ,release: '9.4'}
- { suffix: '-9.3' ,release: '9.3'}
- { suffix: '-9.2' ,release: '9.2'}
environment: SET_VERSION
steps:
- uses: actions/checkout@v4
- name: setenv
run: |
echo "$HOME/.roswell/bin" >> $GITHUB_PATH
echo "ROSWELL_BRANCH=release" >> $GITHUB_ENV
- name: checkenv
run: |
uname -s
uname -m
echo $ROSWELL_INSTALL_DIR
echo $ROSWELL_BRANCH
- name: Install Roswell
env:
LISP: ${{ matrix.lisp }}
run: |
curl -L https://raw.githubusercontent.com/roswell/roswell/master/scripts/install-for-ci.sh | sh
ros install snmsts/sn.github roswell/sbcl_bin
make latest-version zstd sbcl
- name: check uploaded
id: check_uploaded
env:
VERSION: ${{ secrets.VERSION }}
ARCH: ${{ matrix.target }}
SUFFIX: ${{ matrix.suffix }}
run: make latest-version upload-archive-p
continue-on-error: true
- name: Config on ${{ matrix.os }}
if: ${{ steps.check_uploaded.outcome == 'failure' || github.event_name != 'schedule' }}
uses: cross-platform-actions/[email protected]
with:
environment_variables: VERSION ARCH IMAGE SUFFIX LINKFLAGS GH_USER GH_REPO GITHUB_OAUTH_TOKEN
operating_system: ${{ matrix.os }}
architecture: ${{ matrix.target == 'x86' && 'x86-64' || matrix.target }}
version: ${{ matrix.release }}
shell: bash
run: |
sudo touch /usr/bin/ros
sudo chmod 755 /usr/bin/ros
sudo pkgin -y install gmake
SBCL_OPTIONS=$SBCL_OPTIONS LISP_IMPL='ros run' gmake latest-version compile-config
- name: make-host-1
if: ${{ steps.check_uploaded.outcome == 'failure' || github.event_name != 'schedule' }}
run: |
bash -c "cd sbcl;sh make-host-1.sh"
- name: build-runtime on ${{ matrix.os }}
if: ${{ steps.check_uploaded.outcome == 'failure' || github.event_name != 'schedule' }}
uses: cross-platform-actions/[email protected]
with:
environment_variables: VERSION ARCH IMAGE SUFFIX LINKFLAGS GH_USER GH_REPO GITHUB_OAUTH_TOKEN
operating_system: ${{ matrix.os }}
architecture: ${{ matrix.target == 'x86' && 'x86-64' || matrix.target }}
version: ${{ matrix.release }}
shell: bash
run: |
sudo touch /usr/bin/ros
sudo chmod 755 /usr/bin/ros
sudo pkgin -y install gmake
sudo bash -c "cd zstd/lib; gmake PREFIX=/usr ${{ matrix.target == 'x86' && 'LIBDIR=/usr/lib/i386' || ''}} CFLAGS='${{ matrix.target == 'x86' && '-fPIC -m32' || '-fPIC' }}' install-includes install-static clean"
cd sbcl;sh make-target-1.sh
- name: make-host2
if: ${{ steps.check_uploaded.outcome == 'failure' || github.event_name != 'schedule' }}
run: |
bash -c "cd sbcl;sh make-host-2.sh"
- name: build-target2 and contrib on ${{ matrix.os }}
if: ${{ steps.check_uploaded.outcome == 'failure' || github.event_name != 'schedule' }}
uses: cross-platform-actions/[email protected]
with:
environment_variables: VERSION ARCH IMAGE SUFFIX LINKFLAGS GH_USER GH_REPO GITHUB_OAUTH_TOKEN
operating_system: ${{ matrix.os }}
architecture: ${{ matrix.target == 'x86' && 'x86-64' || matrix.target }}
version: ${{ matrix.release }}
shell: bash
run: |
sudo touch /usr/bin/ros
sudo chmod 755 /usr/bin/ros
sudo pkgin -y install gmake
/usr/sbin/paxctl +m sbcl/src/runtime/sbcl || true
bash -c "cd sbcl;sh make-target-2.sh && sh make-target-contrib.sh"
gmake compile-9
- name: upload
if: ${{ steps.check_uploaded.outcome == 'failure' || github.event_name != 'schedule' }}
env:
GITHUB_OAUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
VERSION: ${{ secrets.VERSION }}
ARCH: ${{ matrix.target }}
IMAGE: ${{ matrix.image }}
SUFFIX: ${{ matrix.suffix }}
LINKFLAGS: ${{ matrix.linkflags }}
DOCKER_PLATFORM: ${{ matrix.docker-platform }}
DOCKER_IMAGE_SUFFIX: ${{ matrix.docker-image-suffix }}
run: |
OS=${{ matrix.os }} make latest-version archive
ls
env FILE=`ls *.bz2` make latest-version upload-archive