NetBSD #78
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |