Skip to content

[NOMERGE] Test macOS CI workflow without Roswell #476

[NOMERGE] Test macOS CI workflow without Roswell

[NOMERGE] Test macOS CI workflow without Roswell #476

Workflow file for this run

name: CI
on:
push:
branches: [ "main" ]
paths-ignore:
- 'README.org'
pull_request:
branches: [ "main" ]
workflow_dispatch:
schedule:
- cron: '0 0 1 * *'
jobs:
test:
name: ${{ matrix.lisp }} (${{ matrix.cffi }}) / ${{ matrix.quicklisp-dist }} on ${{ matrix.os }} with duckdb ${{ matrix.duckdb }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
lisp: [sbcl-bin, ccl-bin/1.12.2, ecl/23.9.9]
os: [ubuntu-latest, windows-latest, macos-latest]
quicklisp-dist:
- ultralisp
duckdb: [0.8.1]
cffi: [default, static]
exclude:
- lisp: sbcl-bin
cffi: static
- lisp: ccl-bin/1.12.2
cffi: static
- os: windows-latest
lisp: ccl-bin/1.12.2
- os: windows-latest
lisp: ecl/23.9.9
env:
LISP: ${{ matrix.lisp }}
DUCKDB_VERSION: ${{ matrix.duckdb }}
QUICKLISP_DIST: ${{ matrix.quicklisp-dist }}
steps:
- uses: actions/checkout@v3
- name: Install DuckDB (Linux)
if: runner.os == 'Linux'
continue-on-error: true
shell: bash
run: |
aria2c "https://github.com/duckdb/duckdb/releases/download/v${DUCKDB_VERSION}/libduckdb-linux-amd64.zip"
unzip libduckdb-linux-amd64.zip -d .
- name: Install DuckDB (macOS)
if: runner.os == 'macOS'
continue-on-error: true
shell: bash
run: |
aria2c "https://github.com/duckdb/duckdb/releases/download/v${DUCKDB_VERSION}/libduckdb-osx-universal.zip"
7z x libduckdb-osx-universal.zip
- name: Install DuckDB (Windows)
if: runner.os == 'Windows'
continue-on-error: true
run: |
aria2c "https://github.com/duckdb/duckdb/releases/download/v$env:DUCKDB_VERSION/libduckdb-windows-amd64.zip"
7z x libduckdb-windows-amd64.zip
- name: Setup Lisp
continue-on-error: true
uses: 40ants/setup-lisp@v2
with:
qlfile-template: |
{% ifequal quicklisp_dist "ultralisp" %}
dist ultralisp http://dist.ultralisp.org
{% endifequal %}
- name: Run tests (Non-Windows)
if: runner.os != 'Windows'
shell: bash
run: |
export DYLD_LIBRARY_PATH=./
export LD_LIBRARY_PATH=./
if [ ${{ matrix.cffi }} = 'static' ]; then export CL_DUCKDB_USE_SFFI=t; fi
export CL_DUCKDB_LIBRARY_PATH="${{ github.workspace }}"
if [ ${{ matrix.os }} = 'macos-latest' ]; then sudo cp ./libduckdb.dylib /usr/local/lib/; fi
ros install neil-lindquist/ci-utils
run-fiveam -e t -l duckdb/test :duckdb
- name: Run tests (Windows)
if: runner.os == 'Windows'
shell: msys2 {0}
run: |
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/include/:./
export LIBRARY_PATH=$LIBRARY_PATH:/usr/lib/:./
if [ ${{ matrix.cffi }} = 'static' ]; then export CL_DUCKDB_USE_SFFI=t; fi
export CL_DUCKDB_LIBRARY_PATH="${{ github.workspace }}"
pacman --noconfirm -S libffi-devel pkgconf
ros --eval '(ql-dist:install-dist "http://dist.ultralisp.org/" :prompt nil)' --eval '(uiop:quit)'
ros install neil-lindquist/ci-utils
run-fiveam -e t -l duckdb/test :duckdb