asga #37
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: CL-host | |
on: [push] | |
jobs: | |
ecl: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 45 | |
steps: | |
- uses: actions/checkout@v1 | |
- uses: actions/cache@v1 | |
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 | |
run: ./make.sh --xc-host='ecl' | |
clisp: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 45 | |
steps: | |
- uses: actions/checkout@v1 | |
- name: install host clisp | |
run: | | |
sudo apt-get -qq update | true | |
sudo apt-get -qq install clisp git-restore-mtime | |
- name: build | |
env: | |
SBCL_MAKE_TARGET_2_OPTIONS: --disable-ldb --disable-debugger | |
run: | | |
git restore-mtime | |
./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@v1 | |
- 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 | |
sudo apt-get -qq update | true | |
sudo apt-get -qq install git-restore-mtime | |
- name: build | |
env: | |
SBCL_MAKE_TARGET_2_OPTIONS: --disable-ldb --disable-debugger | |
run: | | |
git restore-mtime | |
./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@v1 | |
- 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 | |
sudo apt-get -qq update | true | |
sudo apt-get -qq install git-restore-mtime | |
working-directory: /tmp/ | |
- name: build | |
env: | |
SBCL_MAKE_TARGET_2_OPTIONS: --disable-ldb --disable-debugger | |
run: | | |
git restore-mtime | |
./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@v1 | |
- name: install host sbcl | |
run: | | |
sudo apt-get -qq update | true | |
sudo apt-get -qq install sbcl libcapstone-dev git-restore-mtime | |
- name: build | |
env: | |
SBCL_MAKE_TARGET_2_OPTIONS: --disable-ldb --disable-debugger | |
run: | | |
git restore-mtime | |
./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_TARGET_2_OPTIONS: --disable-ldb --disable-debugger | |
run: | | |
cp src/runtime/sbcl output/sbcl.core /tmp | |
git reset --hard | |
git restore-mtime | |
./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-24.04 | |
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 }} |