1. Move the `uses` for `setup-msys2/setup-msys2` inside our action.
Note, composite actions do not support conditional steps yet, and to
workaround that I had to fork setup-msys2 and suppress the error when
run on Linux or Mac OS
2. `bash-or-msys2` got renamed to `lispsh`, this way workflows can
simply refer to that when in need to use Lisp-related tools like
`ros`, or `qlot`
PS. The tests workflow was updated to reflect the above mentioned tests.
What:
- On Linux, MacOS, and Windows, installs sbcl-bin and all the _working_
versions of Roswell, ASDF, and Qlot
- Runs `qlot exec ros` to install a project (to see if it errors out or
not)
When:
- Each pushed change
- Each pull request action (not our own!)
- Every Saturday night
(Note: when running on the Saturday night, the workflow will try and
install the _latest_ version of Roswell, ASDF, and Qlot)
Roswell cannot be installed with git-bash anymore, so I had to set
things up again using msys2 (and that came with its own bag of
problems).
Given how unstables things seem to be (see:
https://github.com/roswell/roswell/issues/497), I went on and decided to
pin each dependency to a version which we know it's working:
- roswell-version: v21.10.14.111
- asdf-version: 3.3.5.3
- qlot-version: 0.11.5
(Note: `latest` can be used, as input, to tell the action to install the
latest version of the specific dependency)
- Set `ROSWELL_INSTALL_DIR` to a location that does not include spaces
in its name, and add that to PATH as well so the installation script
can find the newly unzip'd `ros` binary -- without this, it will try
to build Roswell from sources and of course fail
- Set `MSYSCON` to let Roswell believe it's running in a msys2
environment -- or otherwise the action would fail when trying to
upgrade ASDF
- Add ~/.roswell/lisp/quicklisp/bin to PATH or otherwise the action
would fail when trying to `qlot install`
If not specified, the action will install the most recent version of
Roswell which is known to be compatible with this action, i.e.
v21.06.14.110; however, users can set this input equal to "master", and
the action will install the latest version of Roswell instead.