name: 'Check Installation' on: # This will run tests on pushes # to master branch or on pull merges: push: branches: - 'main' - 'master' # This will run tests for every pull request: pull_request: # Rerun tests at 10 AM every Monday # to check if they still work with latest dependencies. schedule: - cron: '0 10 * * 1' jobs: run_tests: strategy: fail-fast: false matrix: lisp: - sbcl-bin - ccl-bin - ecl - abcl - allegro - clisp - cmucl os: - ubuntu-latest - macos-latest quicklisp-dist: - quicklisp - ultralisp include: # Fails because this error on cl-info start: # ill-formed handler binding ((LAMBDA (DEFMAIN/DEFMAIN::C) (DECLARE (IGNORABLE DEFMAIN/DEFMAIN::C)) (UIOP/IMAGE:QUIT 0))) - lisp: abcl can-fail: true # Seems allegro is does not support 64bit OSX. # Unable to install it using Roswell: # alisp is not executable. Missing 32bit glibc? - lisp: allegro os: maxos-latest can-fail: true # CLisp on Ubuntu can't be installed because of the error: # # does not have # the required size or alignment - lisp: clisp os: ubuntu-latest can-fail: true # CMUCL is 32bit and cant' work on 64bit OSX: # .roswell/impls/x86-64/darwin/cmu-bin/21d/bin/lisp is not executable. Missing 32bit glibc? - lisp: cmucl os: macos-latest can-fail: true runs-on: ${{ matrix.os }} continue-on-error: ${{ matrix.can-fail || false }} env: LISP: ${{ matrix.lisp }} OS: ${{ matrix.os }} QUICKLISP_DIST: ${{ matrix.quicklisp-dist }} steps: - uses: actions/checkout@v1 - name: Show env run: | env | sort -u - name: Install Roswell run: | if [[ "$OS" == "ubuntu-latest" ]]; then sudo apt-get -y install git build-essential automake libcurl4-openssl-dev fi if [[ "$OS" == "macos-latest" ]]; then brew install automake autoconf curl fi curl -L https://raw.githubusercontent.com/svetlyak40wt/roswell/patches/scripts/install-for-ci.sh | sh echo $HOME/.roswell/bin >> $GITHUB_PATH - name: Upgrade ASDF to the latest version run: | ros install asdf - name: Install Qlot run: | ros install qlot echo .qlot/bin >> $GITHUB_PATH - name: Install Dependencies run: | rm -fr qlfile touch qlfile if [[ "${QUICKLISP_DIST}" == 'ultralisp' ]]; then echo dist ultralisp http://dist.ultralisp.org/ >> qlfile fi qlot install - name: Install CL-INFO run: | if [[ "${QUICKLISP_DIST}" == 'quicklisp' ]]; then qlot exec ros install 40ants/defmain fi qlot exec ros install 40ants/cl-info - name: Run CL-INFO run: | qlot exec cl-info