name: tests on: push: pull_request: schedule: - cron: "0 0 * * SUN" jobs: tests: # We want to run on external PRs, but not on our own internal PRs as # they'll be run by the push to the branch. if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository strategy: fail-fast: false # Let the workflow continue as much as possible matrix: include: - os: ubuntu-latest lisp: sbcl-bin - os: macos-latest lisp: sbcl-bin - os: windows-latest lisp: sbcl-bin defaults: run: shell: lispsh {0} env: LISP: ${{ matrix.lisp }} name: test with ${{ matrix.lisp }} on ${{ matrix.os }} runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 with: # The repo already contains the qlot and qlot.lock files, and since # we don't want those to interfere with the current test run, we # clone the repository somewhere else (i.e. something different from # the default './') path: setup-lisp/ - name: Call setup-lisp with default arguments if: github.event_name != 'schedule' uses: ./setup-lisp/ - name: Call setup-lisp and install latest if: github.event_name == 'schedule' uses: ./setup-lisp/ with: roswell-version: latest # XXX remove this override (i.e. put "latest" back in) after the # following roswell issue has been solved: # https://github.com/roswell/roswell/issues/497 asdf-version: 3.3.5.3 qlot-version: latest - run: ros config - run: qlot exec ros install 40ants/gh-pages