advent-of-code-2024

My solutions to AoC 2024
Log | Files | Refs

run-tests.yml (1469B)


      1 name: CI
      2 
      3 on:
      4   push:
      5     branches: [ "master" ]
      6 
      7   workflow_dispatch:
      8 
      9 env:
     10   SBCL_VERSION: 2.4.11
     11 
     12 jobs:
     13   build:
     14     runs-on: ubuntu-latest
     15 
     16     steps:
     17       - uses: actions/checkout@v3
     18 
     19       - name: "Cache: SBCL"
     20         id: cache-sbcl
     21         uses: actions/cache@v3.3.2
     22         with:
     23           path: "~/sbcl"
     24           key: "${SBCL_VERSION}"
     25 
     26       - name: "Cache: .sbclrc"
     27         uses: actions/cache@v3.3.2
     28         with:
     29           path: "~/.sbclrc"
     30           key: "${SBCL_VERSION}"
     31 
     32       - name: "Cache: Quicklisp"
     33         uses: actions/cache@v3.3.2
     34         with:
     35           path: "~/quicklisp"
     36           key: always-restore
     37 
     38       - name: "Cache: asdf config"
     39         uses: actions/cache@v3.3.2
     40         with:
     41           path: "~/.config/common-lisp"
     42           key: always-restore
     43 
     44       - name: "Cache: asdf cache"
     45         uses: actions/cache@v3.3.2
     46         with:
     47           path: "~/.cache/common-lisp"
     48           key: always-restore
     49 
     50       - name: "Install SBCL"
     51         uses: cheeze2000/setup-sbcl@v1
     52         with:
     53           version: $SBCL_VERSION
     54         if: steps.cache-sbcl.outputs.cache-hit != 'true'
     55 
     56       - name: "Add SBCL to PATH"
     57         run: echo "/home/runner/sbcl/bin" >> $GITHUB_PATH
     58         if: steps.cache-sbcl.outputs.cache-hit == 'true'
     59 
     60       - name: "Test"
     61         run: |
     62           sbcl --non-interactive \
     63                --eval '(ql:quickload (list :aoc :aoc-test))' \
     64                --eval '(unless (asdf:test-system :aoc) (uiop:quit 1))'