mirror of
https://github.com/fiddlerwoaroof/data-lens.git
synced 2025-11-08 10:16:32 +00:00
62 lines
2.0 KiB
YAML
62 lines
2.0 KiB
YAML
name: CI
|
|
|
|
# Controls when the workflow will run
|
|
on:
|
|
# Triggers the workflow on push or pull request events but only for the master branch
|
|
push:
|
|
branches: [ master ]
|
|
pull_request:
|
|
branches: [ master ]
|
|
|
|
# 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
|
|
|
|
- name: setup lisp
|
|
run: |
|
|
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 --disable-debugger --no-userinit \
|
|
--load "$HOME/quicklisp/setup.lisp" \
|
|
--eval "(mapcar 'asdf:load-asd (directory \"*.asd\"))" \
|
|
--eval "(ql:quickload :data-lens/test)" \
|
|
--eval "(handler-case (asdf:test-system :data-lens/test) (error () (uiop:quit 42)))" \
|
|
--eval "(ql:quickload :data-lens/transducers/test)" \
|
|
--eval "(handler-case (asdf:test-system :data-lens/transducers/test) (error () (uiop:quit 43)))" \
|
|
--quit
|