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
|