From 25128167996ff16f01ef8d1215b637ddb00510f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81kos=20Kiss?= Date: Sun, 17 Sep 2023 16:56:49 +0200 Subject: [PATCH] [NOMERGE] Test macOS CI workflow without Roswell --- .github/workflows/macos-no-roswell.yml | 51 ++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 .github/workflows/macos-no-roswell.yml diff --git a/.github/workflows/macos-no-roswell.yml b/.github/workflows/macos-no-roswell.yml new file mode 100644 index 0000000..c2e9e98 --- /dev/null +++ b/.github/workflows/macos-no-roswell.yml @@ -0,0 +1,51 @@ +name: macOS without Roswell + +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: + ecl: [23.9.9] + os: [macos-latest] + quicklisp-dist: + - ultralisp + duckdb: [0.8.1, 0.8.0] + cffi: [default, static] + env: + DUCKDB_VERSION: ${{ matrix.duckdb }} + QUICKLISP_DIST: ${{ matrix.quicklisp-dist }} + steps: + - uses: actions/checkout@v3 + + - name: dostuff (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 + git clone --depth 1 --branch ${{ matrix.ecl }} https://gitlab.com/embeddable-common-lisp/ecl.git + cd ecl + ./configure CC=clang LD=ld.lld --enable-threads --with-defsystem && make -j2 && make install + cd ../ + ecl --load quicklisp.lisp --eval '(progn (quicklisp-quickstart:install) (quit))' + 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 + cp -r `pwd` ~/quicklisp/local-projects/cl-duckdb + ecl --load ~/quicklisp/setup.lisp --eval "(progn (ql-dist:install-dist \"http://dist.ultralisp.org/\" :prompt nil) (ql:quickload :duckdb/test) (uiop:quit (if (uiop:symbol-call :fiveam '#:run! :duckdb) 0 1)))"