name: CI # Controls when the workflow will run on: # Triggers the workflow on push or pull request events but only for the main branch push: branches: [ main ] pull_request: branches: [ main ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: # This workflow contains a single job called "build" build: # The type of runner that the job will run on runs-on: ubuntu-latest steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v2 - uses: cachix/install-nix-action@v15 with: extra_nix_config: | access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} # Runs a set of commands using the runners shell - name: setup deps run: | set -x cd nix profile install nixpkgs\#sbcl command -v sbcl || exit 36 wget 'https://beta.quicklisp.org/quicklisp.lisp' [[ -f ./quicklisp.lisp ]] || exit 37 sbcl --eval '(require :uiop)' \ --load quicklisp.lisp \ --eval '(handler-case (quicklisp-quickstart:install) (error () (uiop:quit 38)))' \ --quit [[ -f "$HOME"/quicklisp/setup.lisp ]] || exit 39 - name: run tests run: | cd "$GITHUB_WORKSPACE" sbcl --no-userinit \ --disable-debugger \ --load "$HOME/quicklisp/setup.lisp" \ --eval "(mapcar 'asdf:load-asd (directory \"*.asd\"))" \ --eval "(ql:quickload :uiop)" \ --eval "(defvar cl-user::*exit-on-test-failures* t)" \ --eval "(ql:quickload :reazon-cl/test)" \ --eval "(handler-case (asdf:test-system :reazon-cl/test) (error () (uiop:quit 42)))" \ --quit