git.fiddlerwoaroof.com
Raw Blame History
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: |
          nix profile install nixpkgs\#sbcl
          cd
          wget 'https://beta.quicklisp.org/quicklisp.lisp'
          sbcl --eval '(require :uiop)' \
               --load quicklisp.lisp \
               --eval '(handler-case (progn (error "fail!") (quicklisp-quickstart:install)) (error () (uiop:quit 40)))' \
               --quit

      - name: run tests
        run: |
          cd "$GITHUB_WORKSPACE"
          sbcl --load "$HOME/quicklisp/setup.lisp" \
               --eval "(mapcar 'asdf:load-asd (directory \"*.asd\"))" \
               --eval "(ql:quickload :data-lens/transducers/test)" \
               --eval "(asdf:test-system :data-lens/transducers/test)" \
               --quit