git.fiddlerwoaroof.com
.github/workflows/test.yml
e8b8c327
 name: CI
 
fa22323f
 # Controls when the workflow will run
e8b8c327
 on:
fa22323f
   # Triggers the workflow on push or pull request events but only for the master branch
e8b8c327
   push:
     branches: [ master ]
   pull_request:
     branches: [ master ]
 
fa22323f
   # 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
e8b8c327
 jobs:
fa22323f
   # This workflow contains a single job called "build"
e8b8c327
   build:
fa22323f
     # The type of runner that the job will run on
     runs-on: ubuntu-latest
e8b8c327
 
     steps:
fa22323f
       # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
e8b8c327
       - uses: actions/checkout@v2
fa22323f
 
3f27d705
       - uses: cachix/install-nix-action@v19
e8b8c327
         with:
fa22323f
           extra_nix_config: |
             access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
 
       # Runs a set of commands using the runners shell
       - name: setup deps
         run: |
dc585260
           set -x
fa22323f
           cd
176572c2
 
           nix profile install nixpkgs\#sbcl
7309c59c
 
       - name: setup lisp
         run: |
a3724362
           set -x
4eab1df3
           nix profile list
a3724362
           export PATH="$HOME/.nix-profile/bin:$PATH"
6c2d96f0
           echo $PATH
           ls ~/.nix-profile/bin
4eab1df3
           sbcl --quit
176572c2
           command -v sbcl || exit 36
 
fa22323f
           wget 'https://beta.quicklisp.org/quicklisp.lisp'
78663d73
           [[ -f ./quicklisp.lisp ]] || exit 37
176572c2
 
f517e528
           sbcl --eval '(require :uiop)' \
                --load quicklisp.lisp \
176572c2
                --eval '(handler-case (quicklisp-quickstart:install) (error () (uiop:quit 38)))' \
fa22323f
                --quit
9f53b1a1
           [[ -f "$HOME"/quicklisp/setup.lisp ]] || exit 39
fa22323f
 
       - name: run tests
         run: |
903c0aac
           export PATH="$HOME/.nix-profile/bin:$PATH"
fa22323f
           cd "$GITHUB_WORKSPACE"
eb928fce
           ln -s "$GITHUB_WORKSPACE" "$HOME/quicklisp/local-projects"
8fa0b253
           sbcl --disable-debugger --no-userinit \
                --load "$HOME/quicklisp/setup.lisp" \
fa22323f
                --eval "(mapcar 'asdf:load-asd (directory \"*.asd\"))" \
ec166b4a
                --eval "(handler-case (ql:quickload :data-lens) (error (c) (format t \"~a\" c) (uiop:quit 42)))" \
                --eval "(handler-case (ql:quickload :data-lens/transducers) (error (c) (format t \"~a\" c) (uiop:quit 43)))" \
                --eval "(handler-case (asdf:test-system :data-lens) (error (c) (format t \"~a\" c) (uiop:quit 44)))" \
                --eval "(handler-case (asdf:test-system :data-lens/transducers) (error (c) (format t \"~a\" c) (uiop:quit 45)))" \
fa22323f
                --quit