Skip to content

Linux

Linux #651

Workflow file for this run

name: linux
on:
schedule:
- cron: '0 1 * * *'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- nosuffix: ""
target: x86-64
image: 'glibc2.19-sbcl2.0.0:1'
lisp: 'sbcl-bin/2.0.0'
cc: 'cc -std=gnu99'
- nosuffix: ""
target: x86
image: 'glibc2.19-sbcl2.0.0:1'
lisp: sbcl-bin/2.0.0
cc: 'cc -m32 -std=gnu99'
# with suffix below.
- suffix: -glibc2.19
target: x86-64
image: 'glibc2.19-sbcl2.0.0:1'
lisp: 'sbcl-bin/2.0.0'
cc: 'cc -std=gnu99'
- suffix: -glibc2.19
target: x86
image: 'glibc2.19-sbcl2.0.0:1'
lisp: sbcl-bin/2.0.0
cc: 'cc -m32 -std=gnu99'
- suffix: -glibc2.31
target: x86-64
image: 'glibc2.31-sbcl2.1.4:1'
lisp: sbcl-bin/2.0.0
cc: cc
- suffix: -glibc2.31
target: x86
image: 'glibc2.31-sbcl2.1.4:1'
lisp: sbcl-bin/2.0.0
cc: 'cc -m32'
- suffix: -musl
target: x86-64
image: 'musl1.2.2-sbcl2.0.5:1'
lisp: sbcl-bin/2.0.0
cc: cc
- suffix: -musl
target: x86
image: 'i386-musl1.2.2-sbcl2.0.5:1'
lisp: sbcl-bin/2.0.0
cc: 'cc -m32'
- suffix: -static
target: x86-64
image: 'musl1.2.2-sbcl2.0.5:1'
clispldflags: '--static -static-libgcc -static-libstdc++ -static'
lisp: sbcl-bin/2.0.0
cc: cc
- suffix: -static
target: x86
image: 'i386-musl1.2.2-sbcl2.0.5:1'
clispldflags: '--static -static-libgcc -static-libstdc++ -static'
lisp: sbcl-bin/2.0.0
cc: 'cc -m32'
- suffix: -musl1.1
target: x86
image: 'i386-musl1.1.24-sbcl2.0.5:1'
lisp: sbcl-bin/2.0.0
cc: cc
environment: SET_VERSION
steps:
- uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
image: tonistiigi/binfmt:qemu-v8.1.5
- 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/release/scripts/install-for-ci.sh | sh
ros install snmsts/sn.github roswell/sbcl_bin
cp -r ~/.roswell/local-projects/roswell/sbcl_bin/tools-for-build/ .
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: docker.pkg.github.com
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: pull docker image
env:
DOCKER_PLATFORM: ${{ matrix.docker-platform }}
IMAGE: ${{ matrix.image }}
run: |
if [ -n "$IMAGE" ]; then
make pull-docker
fi
- name: build
env:
VERSION: ${{ secrets.VERSION }}
CPU: ${{ matrix.target }}
OS: linux
IMAGE: ${{ matrix.image }}
VARIANT: ${{ matrix.suffix }}
LINKFLAGS: ${{ matrix.linkflags }}
CLISP_LDFLAGS: ${{ matrix.clispldflags }}
CC: ${{ matrix.cc }}
run: |
make latest-version clisp
sudo rm -f clisp/version.sh
ACTION=clisp/version.sh make latest-version docker
ACTION=compile make latest-version docker
ACTION=archive make latest-version docker
- name: upload
env:
GITHUB_OAUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
VERSION: ${{ secrets.VERSION }}
CPU: ${{ matrix.target }}
VARIANT: ${{ matrix.suffix }}
run: |
env FILE=`ls *.bz2` make latest-version upload-archive;