mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-10 07:26:40 -04:00
209 lines
5.7 KiB
YAML
209 lines
5.7 KiB
YAML
name: CL-host
|
|
|
|
on: [push]
|
|
|
|
jobs:
|
|
|
|
ecl:
|
|
|
|
runs-on: ubuntu-24.04
|
|
timeout-minutes: 45
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
- uses: actions/cache@v4
|
|
id: ecl-cache3
|
|
with:
|
|
path: /tmp/ecl
|
|
key: ecl-cache3
|
|
|
|
- name: build host ecl
|
|
if: steps.ecl-cache3.outputs.cache-hit != 'true'
|
|
run: |
|
|
wget -q https://github.com/sbcl/sbcl/releases/download/sbcl-1.4.14/ecl.tgz
|
|
tar xf ecl.tgz
|
|
cd ecl
|
|
./configure --prefix=/usr/ --enable-threads
|
|
make
|
|
working-directory: /tmp
|
|
|
|
- name: install ecl
|
|
run: |
|
|
sudo make install
|
|
echo '(setf *debugger-hook* (lambda (c fun) (princ c) (si::tpl-backtrace) (quit 1)))' > ~/.eclrc
|
|
working-directory: /tmp/ecl
|
|
|
|
- name: build
|
|
env:
|
|
SBCL_MAKE_TARGET_2_OPTIONS: --disable-ldb --disable-debugger
|
|
SBCL_MAKE_JOBS: -j4
|
|
run: ./make.sh --xc-host='ecl'
|
|
|
|
clisp:
|
|
|
|
runs-on: ubuntu-24.04
|
|
timeout-minutes: 45
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Reset mtime
|
|
uses: alerque/git-warp-time@latest
|
|
- name: install host clisp
|
|
run: |
|
|
sudo apt-get -qq update | true
|
|
sudo apt-get -qq install clisp
|
|
- name: build
|
|
env:
|
|
SBCL_MAKE_JOBS: -j4
|
|
SBCL_MAKE_TARGET_2_OPTIONS: --disable-ldb --disable-debugger
|
|
run: |
|
|
./make.sh --xc-host='clisp -on-error exit'
|
|
- name: archive clisp-xc fasls
|
|
run: tar --transform 's,^,clisp-host/,' -cf clisp-host-fasls.tgz obj/from-xc/
|
|
- name: upload clisp-xc archive
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: xc-host-fasls-clisp
|
|
path: clisp-host-fasls.tgz
|
|
|
|
ccl:
|
|
|
|
runs-on: ubuntu-24.04
|
|
timeout-minutes: 45
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Reset mtime
|
|
uses: alerque/git-warp-time@latest
|
|
- name: install host ccl
|
|
run: |
|
|
wget -q https://github.com/sbcl/sbcl/releases/download/sbcl-1.4.14/ccl-host.tgz
|
|
tar xf ccl-host.tgz
|
|
- name: build
|
|
env:
|
|
SBCL_MAKE_JOBS: -j4
|
|
SBCL_MAKE_TARGET_2_OPTIONS: --disable-ldb --disable-debugger
|
|
run: |
|
|
./make.sh --xc-host='ccl-host/lx86cl64 --batch'
|
|
- name: archive ccl-xc fasls
|
|
run: tar --transform 's,^,ccl-host/,' -cf ccl-host-fasls.tgz obj/from-xc/
|
|
- name: upload ccl-xc archive
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: xc-host-fasls-ccl
|
|
path: ccl-host-fasls.tgz
|
|
|
|
cmucl:
|
|
|
|
runs-on: ubuntu-24.04
|
|
timeout-minutes: 45
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Reset mtime
|
|
uses: alerque/git-warp-time@latest
|
|
- name: install host cmucl
|
|
run: |
|
|
mkdir cmucl
|
|
cd cmucl
|
|
wget -q https://github.com/sbcl/sbcl/releases/download/sbcl-1.4.14/cmucl.tar.bz2
|
|
tar xf cmucl.tar.bz2
|
|
echo '(setf ext:*gc-verbose* nil)' > ~/.cmucl-init.lisp
|
|
echo '(setf *batch-mode* t)' >> ~/.cmucl-init.lisp
|
|
echo '(setf *debugger-hook* (lambda (c fun) (princ c) (debug:backtrace) (quit nil 1)))' >> ~/.cmucl-init.lisp
|
|
working-directory: /tmp/
|
|
- name: build
|
|
env:
|
|
SBCL_MAKE_JOBS: -j4
|
|
SBCL_MAKE_TARGET_2_OPTIONS: --disable-ldb --disable-debugger
|
|
run: |
|
|
./make.sh --xc-host='/tmp/cmucl/bin/lisp -dynamic-space-size 1024'
|
|
- name: archive cmucl-xc fasls
|
|
run: tar --transform 's,^,cmucl-host/,' -cf cmucl-host-fasls.tgz obj/from-xc/
|
|
- name: upload cmucl-xc archive
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: xc-host-fasls-cmucl
|
|
path: cmucl-host-fasls.tgz
|
|
|
|
sbcl:
|
|
|
|
runs-on: ubuntu-24.04
|
|
timeout-minutes: 45
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Reset mtime
|
|
uses: alerque/git-warp-time@latest
|
|
- name: install host sbcl
|
|
run: |
|
|
sudo apt-get -qq update | true
|
|
sudo apt-get -qq install sbcl libcapstone-dev
|
|
- name: build
|
|
env:
|
|
SBCL_MAKE_JOBS: -j4
|
|
SBCL_MAKE_TARGET_2_OPTIONS: --disable-ldb --disable-debugger
|
|
run: |
|
|
./make.sh --xc-host='sbcl --dynamic-space-size 600MB --lose-on-corruption --disable-ldb --disable-debugger'
|
|
- name: archive sbcl-xc fasls
|
|
run: tar --transform 's,^,sbcl-host/,' -cf sbcl-host-fasls.tgz obj/from-xc/
|
|
- name: upload sbcl-xc archive
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: xc-host-fasls-sbcl
|
|
path: sbcl-host-fasls.tgz
|
|
|
|
- name: self build
|
|
env:
|
|
SBCL_MAKE_JOBS: -j4
|
|
SBCL_MAKE_TARGET_2_OPTIONS: --disable-ldb --disable-debugger
|
|
run: |
|
|
cp src/runtime/sbcl output/sbcl.core /tmp
|
|
git reset --hard
|
|
./make.sh --xc-host='/tmp/sbcl --core /tmp/sbcl.core --dynamic-space-size 600MB --lose-on-corruption --disable-ldb --disable-debugger'
|
|
|
|
- name: archive self-xc fasls
|
|
run: tar --transform 's,^,self-host/,' -cf self-host-fasls.tgz obj/from-xc/
|
|
- name: upload self-xc archive
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: xc-host-fasls-self
|
|
path: self-host-fasls.tgz
|
|
|
|
compare-xc-host-fasls:
|
|
|
|
runs-on: ubuntu-slim
|
|
timeout-minutes: 5
|
|
needs: [ccl, sbcl, cmucl, clisp]
|
|
|
|
strategy:
|
|
matrix:
|
|
host: [ccl, clisp, cmucl, self]
|
|
or: [false]
|
|
|
|
fail-fast: false
|
|
|
|
steps:
|
|
- name: download xc-host fasls
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
pattern: xc-host-fasls-*
|
|
merge-multiple: true
|
|
- name: extract xc-host fasls
|
|
run: |
|
|
tar xf sbcl-host-fasls.tgz
|
|
tar xf ${{ matrix.host }}-host-fasls.tgz
|
|
- name: compare xc-host fasls
|
|
run: |
|
|
diff -ur sbcl-host/ ${{ matrix.host }}-host/ || ${{ matrix.or }}
|