-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
cbabc2c
commit 82ecccc
Showing
5 changed files
with
153 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
name: 'Continuous Integration' | ||
on: | ||
- workflow_dispatch | ||
- push | ||
|
||
jobs: | ||
install-quicklisp-on-tier-1-platforms: | ||
strategy: | ||
matrix: | ||
implementation: ['abcl', 'ecl', 'sbcl'] | ||
os: ['ubuntu-latest', 'macos-11', 'macos-12', 'macos-13'] | ||
runs-on: '${{ matrix.os }}' | ||
name: 'Install Common Lisp' | ||
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 }}' | ||
- name: 'Validate installed implementation' | ||
run: | | ||
test -d '${{ steps.quicklisp.outputs.quicklisp-home }}' | ||
test -d '${{ steps.quicklisp.outputs.quicklisp-local-projects }}' | ||
install-quicklisp-on-tier-2-platforms: | ||
needs: install-quicklisp-on-tier-1-platforms | ||
strategy: | ||
matrix: | ||
implementation: ['clisp', 'gcl'] | ||
os: ['ubuntu-latest', 'macos-11', 'macos-12', 'macos-13'] | ||
runs-on: '${{ matrix.os }}' | ||
name: 'Install Common Lisp' | ||
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 }}' | ||
- name: 'Validate installed implementation' | ||
continue-on-error: true | ||
run: | | ||
test -d '${{ steps.quicklisp.outputs.quicklisp-home }}' | ||
test -d '${{ steps.quicklisp.outputs.quicklisp-local-projects }}' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
# Setup QuickLisp on GitHub Runners | ||
|
||
This GitHub Action installs QuickLisp for various Common Lisp | ||
implementations on GitHub Runners. | ||
|
||
This action is complemented by other actions related to the Common | ||
Lisp eco system: | ||
|
||
- [setup-common-lisp](https://github.com/melusina-org/setup-common-lisp) | ||
- [asdf-operate](https://github.com/melusina-org/asdf-operate) | ||
- [run-common-lisp-program](https://github.com/melusina-org/run-common-lisp-program) | ||
- [make-lisp-system-documentation-texinfo](https://github.com/melusina-org/make-lisp-system-documentation-texinfo) | ||
|
||
|
||
## Usage | ||
|
||
Create a workflow file in the`.github/workflows` directory of your | ||
working copy. This workflow file should use a MacOS runner or a | ||
Ubuntu Runner and use the branch `v1` of this action. | ||
|
||
|
||
An [example workflow](#example-workflow) is available below. See the GitHub Help Documentation for | ||
[Creating a workflow file](https://help.github.com/en/articles/configuring-a-workflow#creating-a-workflow-file) | ||
to get started with GitHub workflows. | ||
|
||
|
||
## Outcomes | ||
|
||
Once the action has been executed succesfully, the required Common | ||
Lisp implementation can use QuickLisp. | ||
|
||
|
||
## Inputs | ||
|
||
* `implementation` — The Common Lisp implementation to setup QuickLisp | ||
for. This can be one of the values `abcl ecl sbcl` and | ||
in the future we would like to support all of `abcl clasp clisp ecl gcl sbcl` | ||
and maybe other implementations. Please open an issue to express | ||
interest for other implementations. | ||
|
||
|
||
## Outputs | ||
|
||
* `quicklisp-home`: The home directory where QuickLisp is installed. | ||
* `quicklisp-local-projects`: The directory where QuickLisp local | ||
projects are searched. | ||
|
||
|
||
## Example Workflow | ||
|
||
```yaml | ||
name: 'Continuous Integration' | ||
on: | ||
- workflow_dispatch | ||
- push | ||
|
||
jobs: | ||
install-quicklisp-on-tier-1-platforms: | ||
strategy: | ||
matrix: | ||
implementation: ['abcl', 'ecl', 'sbcl'] | ||
os: ['ubuntu-latest', 'macos-11', 'macos-12', 'macos-13'] | ||
runs-on: '${{ matrix.os }}' | ||
name: 'Install Common Lisp' | ||
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 }}' | ||
- name: 'Validate installed implementation' | ||
run: | | ||
test -d '${{ steps.quicklisp.outputs.quicklisp-home }}' | ||
test -d '${{ steps.quicklisp.outputs.quicklisp-local-projects }}' | ||
``` | ||
## License | ||
The scripts and documentation in this project are released under the [MIT License](LICENSE) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters