From d00e4e4d30cc9b785f333761dc3163738ee2bf7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81kos=20Kiss?= Date: Sun, 18 Jun 2023 17:47:27 +0200 Subject: [PATCH] Add CI action for running tests --- .github/workflows/CI.yml | 55 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 .github/workflows/CI.yml diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml new file mode 100644 index 0000000..d6092ec --- /dev/null +++ b/.github/workflows/CI.yml @@ -0,0 +1,55 @@ +name: CI + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + workflow_dispatch: + schedule: + - cron: '0 0 1 * *' + +jobs: + test: + name: ${{ matrix.lisp }} / ${{ matrix.quicklisp-dist }} on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + lisp: [sbcl-bin, ccl-bin/1.12.1, ecl/21.2.1] + os: [ubuntu-latest, windows-latest, macos-latest] + quicklisp-dist: + - quicklisp + - ultralisp + exclude: + - os: windows-latest + lisp: ccl-bin/1.12.1 + - os: windows-latest + lisp: ecl/21.2.1 + env: + LISP: ${{ matrix.lisp }} + QUICKLISP_DIST: ${{ matrix.quicklisp-dist }} + steps: + - uses: actions/checkout@v3 + + - name: Setup Lisp + continue-on-error: true + uses: 40ants/setup-lisp@v2 + with: + qlfile-template: | + {% ifequal quicklisp_dist "ultralisp" %} + dist ultralisp http://dist.ultralisp.org + {% endifequal %} + + - name: Run tests (Non-Windows) + if: runner.os != 'Windows' + shell: bash + run: | + ros install neil-lindquist/ci-utils + run-fiveam -e t -l ginkgo-time/test :ginkgo-time + + - name: Run tests (Windows) + if: runner.os == 'Windows' + shell: msys2 {0} + run: | + ros install neil-lindquist/ci-utils + run-fiveam -e t -l ginkgo-time/test :ginkgo-time