Skip to content

[ci] add macos 12 aka xcode14 for travis #70

[ci] add macos 12 aka xcode14 for travis

[ci] add macos 12 aka xcode14 for travis #70

Workflow file for this run

on: [push, pull_request]
jobs:
test:
name: ${{ matrix.lisp }}, ${{ matrix.os }}
strategy:
matrix:
lisp: [sbcl, ccl, ecl]
os: [ubuntu-22.04]
runs-on: ${{ matrix.os }}
timeout-minutes: 8
continue-on-error: true
steps:
- uses: actions/checkout@v2
- name: Update $PATH
run: |
echo $PATH
echo "PATH=$HOME/bin:$PATH" >> $GITHUB_ENV
- name: Check $PATH
run: echo $PATH
- name: Download implementation
env:
LISP: ${{ matrix.lisp }}
OS: ${{ matrix.os }}
run: |
pwd
ls -l
bash <(curl -s https://raw.githubusercontent.com/digikar99/lisp-travis-lite/master/run.sh)
- name: Test without numpy
run: |
ls
cl --eval '(push #P"./" ql:*local-project-directories*)' --eval '(ql:quickload "py4cl2-cffi")' --eval '(assert (= 5 (py4cl2-cffi:pyeval 5)))' --eval '(print py4cl2-cffi:*internal-features*)'
# We avoid caching the apt and python modules; need to deal with recursive dependencies
- name: Install python modules
run: | # need to use sudo
sudo apt install python3-pip
python3 -m venv ./py4cl2-cffi/
source ./py4cl2-cffi/bin/activate
pip3 install numpy
pip3 install networkx
pip3 install matplotlib
- name: Run python-config
run: |
source ./py4cl2-cffi/bin/activate
python3 --version
python3-config --libs
python3-config --includes
python3-config --ldflags
find '/usr/lib' -name "libpython*.so"
- name: Download download-dependencies
run: |
source ./py4cl2-cffi/bin/activate
git clone https://github.com/digikar99/download-dependencies $HOME/quicklisp/local-projects/download-dependencies
- name: Download Tests
run: |
git clone https://github.com/digikar99/py4cl2-cffi-tests ./tests
pwd
ls -l
- name: Download Test Dependencies
run: >
cl --eval '(ql:quickload "download-dependencies")' \
--eval '(in-package :download-dependencies)' \
--eval '(push #P"./" ql:*local-project-directories*)' \
--eval '(let ((*dependencies-home* (first ql:*local-project-directories*))) (ensure-system "py4cl2-cffi-tests"))'
- name: Set up directory with exotic name
run: |
ls -l $HOME/bin/
echo $PATH
export EXOTIC_DIR="$HOME/(some exotic name')/"
export EXOTIC_DIR_PYTHON="$EXOTIC_DIR/python"
echo "EXOTIC_DIR=$EXOTIC_DIR" >> $GITHUB_ENV
echo "EXOTIC_DIR_PYTHON=$EXOTIC_DIR_PYTHON" >> $GITHUB_ENV
mkdir -p "$EXOTIC_DIR"
rsync -rR "$HOME/work/py4cl2-cffi/py4cl2-cffi" "$EXOTIC_DIR"
ln -s "/usr/bin/python3" "$EXOTIC_DIR_PYTHON"
cd ~/
ls -l
ls "$EXOTIC_DIR"
nproc
pwd
python3 --version
/"$EXOTIC_DIR_PYTHON" --version
- name: Compile Tests
run: |
source ./py4cl2-cffi/bin/activate
cl --load "$EXOTIC_DIR/$HOME/work/py4cl2-cffi/py4cl2-cffi/ci-pre-test.lisp"
# Testing it on the second load confirms that functionalities do not
# solely eval-when compile-toplevel, and that they persist across multiple loads.
- name: Run Tests
run: |
source ./py4cl2-cffi/bin/activate
cl --load "$EXOTIC_DIR/$HOME/work/py4cl2-cffi/py4cl2-cffi/ci-test.lisp" || cl --load "$EXOTIC_DIR/$HOME/work/py4cl2-cffi/py4cl2-cffi/ci-test.lisp"