GitHub Actions is an automation service from GitHub. Its notable advantages are seamless GitHub integration and better OS support -- Ubuntu, macOS and Windows.
It's still in limited public beta and the API is likely to change. We're working on to improve its experience with Roswell, but please remember it is still quite experimental.
Getting Started
Add a workflow YAML file at .github/workflows/ci.yml something like this:
name: CI
on: [push]
jobs:
test:
name: ${{ matrix.lisp }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
lisp: [sbcl-bin]
os: [ubuntu-latest, macOS-latest]
steps:
- uses: actions/checkout@v1
- name: Install Roswell
env:
LISP: ${{ matrix.lisp }}
run: |
curl -L https://raw.githubusercontent.com/roswell/roswell/master/scripts/install-for-ci.sh | sh
- name: Install Rove
run: ros install rove
- name: Run tests
run: |
PATH="~/.roswell/bin:$PATH"
rove qlot.asd
Known issues
- The latest
install-for-ci.shis required until 158bdeb6 will have been released. - [Windows]
ROSWELL_INSTALL_DIRhas to be set/c/roswellon Windows - Because
/usr/local/binis not in PATH. /usr/binis in PATH, but its actual directory path is underC:/Program Files/and Roswell can't be executed when its pathname containing spaces.- Roswell exe file will be installed at
/c/roswell/bin/ros. - [Windows] Roswell scripts can't be executed with cmd.exe
- Execute them through
roscommand likeC:\roswell\bin\ros %userprofile%\.roswell\bin\rove - Use
bashby settingjobs.<job-id>.steps.shelltobash. - [Windows] ASDF configuration is not set
- Set the source registry by yourself like
/c/roswell/bin/ros -S . -s rove -e ...
See Also
- Automating your workflow with GitHub Actions - GitHub Help (Official document)