Update Clasp evaluator #328
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: ci | |
# Controls when the action will run. Triggers the workflow on push for any branch, and | |
# pull requests to master | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
jobs: | |
test: | |
name: ${{ matrix.os }} | |
defaults: | |
run: | |
shell: bash -l {0} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- macos-latest | |
- ubuntu-22.04 | |
- windows-latest | |
# run the job on every combination of "os" above | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: conda-incubator/setup-miniconda@v3 | |
with: | |
auto-update-conda: true | |
- name: Install Windows dependencies | |
if: matrix.os == 'windows-latest' | |
run: | | |
conda install -c conda-forge m2w64-gcc m2w64-zeromq | |
echo "C:\\Program Files\\Steel Bank Common Lisp\\2.0.0\\" >> $GITHUB_PATH | |
echo "SBCL_HOME=C:\\Program Files\\Steel Bank Common Lisp\\2.0.0\\" >> $GITHUB_ENV | |
- name: Install Windows dependencies (pt 2) | |
if: matrix.os == 'windows-latest' | |
shell: cmd | |
run: | | |
curl -L http://downloads.sourceforge.net/project/sbcl/sbcl/2.0.0/sbcl-2.0.0-x86-64-windows-binary.msi --output sbcl.msi | |
msiexec /qn /i sbcl.msi | |
- name: Install Ubuntu dependencies | |
if: matrix.os == 'ubuntu-22.04' | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y ecl libzmq3-dev sbcl | |
sudo bash -c "$(curl -fsSL https://www.thirdlaw.tech/pkg/clasp.sh)" | |
- name: Install MacOS dependencies | |
if: matrix.os == 'macos-latest' | |
run: | | |
brew install clozure-cl czmq sbcl ecl clasp-developers/clasp/clasp-cl | |
- name: Install Jupyter | |
run: | | |
conda install -c conda-forge jupyterlab jupyter_kernel_test | |
- name: Install pytest-jupyter_kernel | |
run: | | |
pip install build | |
git clone https://github.com/yitzchak/pytest-jupyter_kernel.git | |
cd pytest-jupyter_kernel | |
pyproject-build | |
pip install dist/pytest_jupyter_kernel-0.1.0-py3-none-any.whl | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Download Quicklisp | |
run: | | |
curl -kLO https://beta.quicklisp.org/quicklisp.lisp | |
# - name: Clone dependencies that have not been updated in Quicklisp | |
# run: | | |
# git clone https://github.com/yitzchak/shasht.git ~/quicklisp/local-projects/shasht | |
# git clone -b fix-utf-8 https://github.com/yitzchak/language-codes.git ~/quicklisp/local-projects/language-codes | |
# - name: Clone dependencies that have not been updated in Quicklisp (pt 2) | |
# if: matrix.os == 'windows-latest' | |
# run: | | |
# git clone https://github.com/orivej/pzmq.git ~/quicklisp/local-projects/pzmq | |
- name: Install CCL kernel on MacOS | |
if: matrix.os == 'macos-latest' | |
run: | | |
ccl64 --batch --load scripts/usr-install.lisp | |
# - name: Install CCL kernel on Ubuntu | |
# if: matrix.os == 'ubuntu-22.04' | |
# run: | | |
# ccl --batch --load scripts/usr-install.lisp | |
- name: Install CLASP kernel | |
if: matrix.os != 'windows-latest' | |
run: | | |
clasp --non-interactive --load scripts/usr-install.lisp | |
- name: Install ECL kernel | |
if: matrix.os != 'windows-latest' | |
run: | | |
ecl --load scripts/usr-install.lisp --eval '(ext:quit)' | |
- name: Install SBCL kernel | |
run: | | |
sbcl --non-interactive --load scripts/usr-install.lisp sbcl | |
- name: Run kernel tests | |
run: | | |
pytest --verbose |