Skip to content

Support Windows

Support Windows #31

name: 'Continuous Integration'
on:
workflow_dispatch:
push:
branches-ignore:
- v1
tags-ignore:
- v1.*
jobs:
install-quicklisp-on-tier-1-platforms:
strategy:
matrix:
implementation: ['abcl', 'sbcl']
os: ['ubuntu-latest', 'macos-latest']
include:
- implementation: 'sbcl'
os: 'windows-latest'
runs-on: '${{ matrix.os }}'
name: 'Install QuickLisp'
steps:
- uses: actions/checkout@v3
- name: 'Install MacPorts'
if: runner.os == 'macOS'
uses: melusina-org/setup-macports@v1
- uses: melusina-org/setup-common-lisp@v1
with:
implementation: '${{ matrix.implementation }}'
- uses: ./
id: 'quicklisp'
with:
implementation: '${{ matrix.implementation }}'
additional-systems: >-
alexandria
org.melusina.confidence
- name: 'Ensure that QuickLisp Home exists'
run: |
test -d '${{ steps.quicklisp.outputs.quicklisp-home }}'
- name: 'Ensure that QuickLisp Local Projects exists'
run: |
test -d '${{ steps.quicklisp.outputs.quicklisp-local-projects }}'
- name: 'Ensure that installed systems can be required'
run: |
./with_lisp_implementation ${{ matrix.implementation }} <<EOF
(dolist (package-name '(#:alexandria #:org.melusina.confidence))
(require package-name)
(format *trace-output* "~&Find package ~A: ~A~&"
package-name (find-package package-name)))
EOF
install-quicklisp-on-tier-2-platforms:
needs: install-quicklisp-on-tier-1-platforms
strategy:
matrix:
implementation: ['clisp', 'ecl', 'gcl']
os: ['ubuntu-latest', 'macos-latest']
include:
- implementation: 'clisp'
os: 'windows-latest'
runs-on: '${{ matrix.os }}'
name: 'Install QuickLisp'
steps:
- uses: actions/checkout@v3
- name: 'Install MacPorts'
if: runner.os == 'macOS'
uses: melusina-org/setup-macports@v1
- uses: melusina-org/setup-common-lisp@v1
continue-on-error: true
with:
implementation: '${{ matrix.implementation }}'
- uses: ./
continue-on-error: true
id: 'quicklisp'
with:
implementation: '${{ matrix.implementation }}'
additional-systems: >-
alexandria
org.melusina.confidence
- name: 'Ensure that QuickLisp Home exists'
continue-on-error: true
run: |
test -d '${{ steps.quicklisp.outputs.quicklisp-home }}'
- name: 'Ensure that QuickLisp Local Projects exists'
continue-on-error: true
run: |
test -d '${{ steps.quicklisp.outputs.quicklisp-local-projects }}'
- name: 'Ensure that installed systems can be required'
continue-on-error: true
run: |
./with_lisp_implementation ${{ matrix.implementation }} <<EOF
(require "alexandria")
(require "org.melusina.confidence")
(dolist (package-name '("alexandria" "org.melusina.confidence"))
(format *trace-output* "~&Find package ~A: ~A~&"
package-name (find-package package-name)))
EOF