From 9eb7a325f33e6e9348a376f8aa8dc19087165bd9 Mon Sep 17 00:00:00 2001 From: Alexander Artemenko <svetlyak.40wt@gmail.com> Date: Wed, 6 Mar 2024 02:08:05 +0300 Subject: [PATCH 01/21] Update deps. --- qlfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qlfile.lock b/qlfile.lock index b74049b..5b007a6 100644 --- a/qlfile.lock +++ b/qlfile.lock @@ -5,7 +5,7 @@ ("ultralisp" . (:class qlot/source/dist:source-dist :initargs (:distribution "http://dist.ultralisp.org" :%version :latest) - :version "20240127152000")) + :version "20240304201501")) ("sly" . (:class qlot/source/github:source-github :initargs (:repos "svetlyak40wt/sly" :ref nil :branch "patches" :tag nil) From cb334f930ef77ea3dc85b1bc94898dd2aa05f2ab Mon Sep 17 00:00:00 2001 From: Alexander Artemenko <svetlyak.40wt@gmail.com> Date: Tue, 12 Mar 2024 12:09:44 +0300 Subject: [PATCH 02/21] Fix :HOME path component issue. First, we need to ensure that any errors in quicklisp fix loader cause failure of our own tests. --- .github/workflows/tests.yml | 97 ++++++++++++++++++++++++++----------- action.yml | 36 +++++--------- changelog.lisp | 14 +++++- docs.lisp | 31 ++++++------ load-quicklisp-fix.lisp | 19 ++++++++ 5 files changed, 129 insertions(+), 68 deletions(-) create mode 100644 load-quicklisp-fix.lisp diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 88a80e6..6e9301e 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -14,46 +14,86 @@ jobs: fail-fast: false # Let the workflow continue as much as possible matrix: include: - - os: ubuntu-latest - lisp: sbcl - # Just to ensure test.ros will not fail when version - # is specified explicitly - - os: ubuntu-latest - lisp: sbcl/2.3.1 - - os: macos-latest - lisp: sbcl-bin - - os: windows-latest - lisp: sbcl-bin - - os: ubuntu-latest - lisp: sbcl-bin - - os: ubuntu-latest - lisp: ccl-bin - - os: ubuntu-latest - lisp: clisp-head - - os: ubuntu-latest - lisp: ecl + # Linux - os: ubuntu-latest lisp: abcl-bin - - os: ubuntu-latest - lisp: clasp-bin - - os: ubuntu-latest - lisp: cmu-bin - # See issue: https://github.com/40ants/setup-lisp/issues/22 # - os: ubuntu-latest # lisp: allegro - # See issue: https://github.com/40ants/setup-lisp/issues/15 - # - os: ubuntu-latest - # lisp: clisp + - os: ubuntu-latest + lisp: ccl-bin # See issue: https://github.com/40ants/setup-lisp/issues/16 # - os: ubuntu-latest # lisp: clasp + - os: ubuntu-latest + lisp: clasp-bin + # See issue: https://github.com/40ants/setup-lisp/issues/15 + # - os: ubuntu-latest + # lisp: clisp + - os: ubuntu-latest + lisp: clisp-head + - os: ubuntu-latest + lisp: cmu-bin + - os: ubuntu-latest + lisp: ecl # See issue: https://github.com/40ants/setup-lisp/issues/17 # - os: ubuntu-latest # lisp: mkcl # See issue: https://github.com/40ants/setup-lisp/issues/18 # - os: ubuntu-latest # lisp: npt + - os: ubuntu-latest + lisp: sbcl + # Just to ensure test.ros will not fail when version + # is specified explicitly + - os: ubuntu-latest + lisp: sbcl/2.3.1 + - os: ubuntu-latest + lisp: sbcl-bin + + # OSX + - os: macos-latest + lisp: abcl-bin + - os: macos-latest + lisp: ccl-bin + # https://github.com/40ants/setup-lisp/issues/29 + # - os: macos-latest + # lisp: clasp-bin + # https://github.com/40ants/setup-lisp/issues/28 + # - os: macos-latest + # lisp: clisp-head + # https://github.com/40ants/setup-lisp/issues/30 + # - os: macos-latest + # lisp: cmu-bin + - os: macos-latest + lisp: ecl + - os: macos-latest + lisp: sbcl-bin + + # Windows + + # https://github.com/40ants/setup-lisp/issues/27 + # - os: windows-latest + # lisp: abcl-bin + # https://github.com/40ants/setup-lisp/issues/27 + # - os: windows-latest + # lisp: ccl-bin + # https://github.com/40ants/setup-lisp/issues/27 + # - os: windows-latest + # lisp: clasp-bin + # https://github.com/40ants/setup-lisp/issues/27 + # - os: windows-latest + # lisp: clisp-head + # https://github.com/40ants/setup-lisp/issues/27 + # - os: windows-latest + # lisp: cmu-bin + # https://github.com/40ants/setup-lisp/issues/27 + # - os: windows-latest + # lisp: ecl + - os: windows-latest + lisp: sbcl-bin + + defaults: run: shell: lispsh -eo pipefail {0} @@ -83,8 +123,11 @@ jobs: # https://github.com/roswell/roswell/issues/497 asdf-version: 3.3.5.3 qlot-version: latest - - run: which ros - run: ros config + # On OSX this steps fails often: + # https://github.com/40ants/setup-lisp/issues/31 + # I don't know how to fix it, so we'll skip it for now: + continue-on-error: true - run: qlot exec ros install 40ants/cl-info - run: qlot exec cl-info diff --git a/action.yml b/action.yml index 0d4bf52..fb6d5f8 100644 --- a/action.yml +++ b/action.yml @@ -57,6 +57,11 @@ inputs: ~/.cache/common-lisp/ .qlot + cache-suffix: + description: "Internal var. Don't use it." + required: false + default: v9 + runs: using: composite steps: @@ -206,7 +211,7 @@ runs: uses: actions/cache/restore@v4 with: path: ${{ inputs.roswell-cache-paths }} - key: roswell-${{ inputs.roswell-version }}-${{ steps.locals.outputs.current-month }}-${{ env.cache-name }}-${{ runner.os }}-${{ env.LISP }} + key: roswell-${{ inputs.roswell-version }}-${{ steps.locals.outputs.current-month }}-${{ env.cache-name }}-${{ runner.os }}-${{ env.LISP }}-${{ inputs.cache-suffix }} - if: inputs.cache == 'true' && steps.roswell-cache-restore.outputs.cache-hit == 'true' name: Restore Path To Cached Files @@ -271,21 +276,7 @@ runs: mkdir -p ~/.roswell - cat >> ~/.roswell/init.lisp <<EOF - (let ((fix-filename (make-pathname :directory '(:absolute :home ".quicklisp-client-fix") - :name "quicklisp-fix" - :type "lisp"))) - (let ((quicklisp-found #+quicklisp t - #-quicklisp nil)) - (cond - ((not quicklisp-found) - (warn "Quicklisp is not available, skipping fix loading.~%")) - ((probe-file fix-filename) - (handler-bind ((warning #'muffle-warning)) - (load fix-filename))) - (t - (warn "Quicklisp fix was not found at ~S.~%" fix-filename))))) - EOF + cat $GITHUB_ACTION_PATH/load-quicklisp-fix.lisp >> ~/.roswell/init.lisp - if: inputs.cache == 'false' || steps.roswell-cache-restore.outputs.cache-hit != 'true' name: Upgrade ASDF to the Latest Version @@ -357,7 +348,7 @@ runs: uses: actions/cache/restore@v4 with: path: ${{ inputs.qlot-cache-paths }} - key: qlot-${{ steps.locals.outputs.current-month }}-${{ env.cache-name }}-${{ runner.os }}-${{ env.QUICKLISP_DIST }}-${{ env.LISP }}-${{ hashFiles('qlfile', 'qlfile.lock', '*.asd') }} + key: qlot-${{ steps.locals.outputs.current-month }}-${{ env.cache-name }}-${{ runner.os }}-${{ env.QUICKLISP_DIST }}-${{ env.LISP }}-${{ hashFiles('qlfile', 'qlfile.lock', '*.asd') }}-${{ inputs.cache-suffix }} - if: inputs.cache == 'true' && steps.qlot-cache-restore.outputs.cache-hit == 'true' name: Restore Path To .qlot/bin @@ -378,17 +369,16 @@ runs: # This step will install system and # all possible roswell scripts, if the system # has them in the roswell/ subdirectory: - - if: inputs.cache == 'false' || steps.qlot-cache-restore.outputs.cache-hit != 'true' + - if: inputs.asdf-system && (inputs.cache == 'false' || steps.qlot-cache-restore.outputs.cache-hit != 'true') name: Install ASDF System shell: lispsh -eo pipefail {0} + # Here we'll need to set CL_SOURCE_REGISTRY + # when will switch to a new qlot: run: | echo ::group::Install ASDF System - if [[ -n "${{ inputs.asdf-system }}" ]]; then - qlot exec ros install ${{ inputs.asdf-system }} - else - echo "ASDF system wasn't provided." - fi + qlot exec ros install ${{ inputs.asdf-system }} + echo ::endgroup:: - if: inputs.cache == 'true' && steps.qlot-cache-restore.outputs.cache-hit != 'true' diff --git a/changelog.lisp b/changelog.lisp index 4ef527a..2ad66e3 100644 --- a/changelog.lisp +++ b/changelog.lisp @@ -7,7 +7,17 @@ (defchangelog (:ignore-words ("ASDF" "PATH" + "CL" "HOME")) + (4.0.3 2024-03-12 + " +# Fixed + +* There was an error when action suceeded, but actually failed trying to load my quicklisp fix for package inferred systems. + A code to load this fix used :HOME as a pathname component which is not supported by some CL implementations. Actually, + I've already fixed this issue in 3.1.0 version, but somehow this fix was lost. Also, a handler-bind wrapper around the loader was added + and now action's tests will fail in case of any errors. +") (4.0.2 2024-02-27 " # Fixed @@ -31,7 +41,7 @@ * A new input variable `cache` was added to control caching beheviour. It is `true` by default, but you can switch it to `false` to turn caching off. ") - (3.2.0 2023-01-30 + (3.2.0 2024-01-30 " # Changed @@ -44,7 +54,7 @@ * Fixed running of test.ros script under Windows. ") - (3.1.0 2023-01-27 + (3.1.0 2024-01-27 " # Changed diff --git a/docs.lisp b/docs.lisp index 5f2e74c..edc44e2 100644 --- a/docs.lisp +++ b/docs.lisp @@ -89,22 +89,21 @@ when trying to call `ros` or `qlot` scripts: Error: Process completed with exit code 127. ``` - -| **Implementation** | **Supported** | -|--------------------|------------------------------------------------------| -| abcl-bin | ✅ | -| allegro | [❌](https://github.com/40ants/setup-lisp/issues/22) | -| ccl-bin | ✅ | -| clasp | [❌](https://github.com/40ants/setup-lisp/issues/16) | -| clasp-bin | ✅ | -| clisp | [❌](https://github.com/40ants/setup-lisp/issues/15) | -| clisp-head | ✅ | -| cmu-bin | ✅ | -| ecl | ✅ | -| mkcl | [❌](https://github.com/40ants/setup-lisp/issues/17) | -| npt | [❌](https://github.com/40ants/setup-lisp/issues/18) | -| sbcl | ✅ | -| sbcl-bin | ✅ | +| **Implementation** | **Linux** | **OSX** | **Windows** | +|--------------------|------------------------------------------------------|---------|--------------| +| abcl-bin | ✅ | ✅ | [❌](https://github.com/40ants/setup-lisp/issues/27) | +| allegro | [❌](https://github.com/40ants/setup-lisp/issues/22) | | | +| ccl-bin | ✅ | ✅ | [❌](https://github.com/40ants/setup-lisp/issues/27) | +| clasp | [❌](https://github.com/40ants/setup-lisp/issues/16) | | [❌](https://github.com/40ants/setup-lisp/issues/27) | +| clasp-bin | ✅ | [❌](https://github.com/40ants/setup-lisp/issues/29) | +| clisp | [❌](https://github.com/40ants/setup-lisp/issues/15) | | [❌](https://github.com/40ants/setup-lisp/issues/27) | +| clisp-head | ✅ | [❌](https://github.com/40ants/setup-lisp/issues/28) | +| cmu-bin | ✅ | [❌](https://github.com/40ants/setup-lisp/issues/30) | [❌](https://github.com/40ants/setup-lisp/issues/27) | +| ecl | ✅ | ✅ | [❌](https://github.com/40ants/setup-lisp/issues/27) | +| mkcl | [❌](https://github.com/40ants/setup-lisp/issues/17) | | | +| npt | [❌](https://github.com/40ants/setup-lisp/issues/18) | | | +| sbcl | ✅ | | | +| sbcl-bin | ✅ | ✅ | ✅ | ") diff --git a/load-quicklisp-fix.lisp b/load-quicklisp-fix.lisp new file mode 100644 index 0000000..8d3816b --- /dev/null +++ b/load-quicklisp-fix.lisp @@ -0,0 +1,19 @@ +(handler-bind ((serious-condition + (lambda (condition) + (uiop:print-condition-backtrace condition) + (uiop:quit 1)))) + (let ((fix-filename (merge-pathnames + (make-pathname :directory '(:relative ".quicklisp-client-fix") + :name "quicklisp-fix" + :type "lisp") + (user-homedir-pathname)))) + (let ((quicklisp-found #+quicklisp t + #-quicklisp nil)) + (cond + ((not quicklisp-found) + (warn "Quicklisp is not available, skipping fix loading.~%")) + ((probe-file fix-filename) + (handler-bind ((warning #'muffle-warning)) + (load fix-filename))) + (t + (warn "Quicklisp fix was not found at ~S.~%" fix-filename)))))) From 08730d2cc2529a2baa7aa8c5b13cfa47ec57606d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <actions@github.com> Date: Mon, 15 Apr 2024 15:27:08 +0000 Subject: [PATCH 03/21] Update docs --- ChangeLog.md | 17 +++++++++++++++-- README.md | 34 +++++++++++++++++++--------------- 2 files changed, 34 insertions(+), 17 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index 21b3848..d7f67ec 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -2,6 +2,19 @@ # ChangeLog +<a id="x-28PROJECT-DOCS-2FCHANGELOG-3A-3A-7C4-2E0-2E3-7C-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a> + +## 4.0.3 (2024-03-12) + +<a id="fixed"></a> + +### Fixed + +* There was an error when action suceeded, but actually failed trying to load my quicklisp fix for package inferred systems. + A code to load this fix used `:HOME` as a pathname component which is not supported by some `CL` implementations. Actually, + I've already fixed this issue in 3.1.0 version, but somehow this fix was lost. Also, a handler-bind wrapper around the loader was added + and now action's tests will fail in case of any errors. + <a id="x-28PROJECT-DOCS-2FCHANGELOG-3A-3A-7C4-2E0-2E2-7C-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a> ## 4.0.2 (2024-02-27) @@ -38,7 +51,7 @@ When some jobs used qlfile-template argument + caching, a template application <a id="x-28PROJECT-DOCS-2FCHANGELOG-3A-3A-7C3-2E2-2E0-7C-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a> -## 3.2.0 (2023-01-30) +## 3.2.0 (2024-01-30) <a id="changed"></a> @@ -56,7 +69,7 @@ When some jobs used qlfile-template argument + caching, a template application <a id="x-28PROJECT-DOCS-2FCHANGELOG-3A-3A-7C3-2E1-2E0-7C-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a> -## 3.1.0 (2023-01-27) +## 3.1.0 (2024-01-27) <a id="changed"></a> diff --git a/README.md b/README.md index 1970b9b..782995e 100644 --- a/README.md +++ b/README.md @@ -39,21 +39,21 @@ when trying to call `ros` or `qlot` scripts: /c/Users/runneradmin/.roswell/lisp/quicklisp/bin/qlot: line 4: exec: ros: not found Error: Process completed with exit code 127. ``` -| **Implementation** | **Supported** | -| --- | --- | -| abcl-bin | ✅ | -| allegro | [❌][d984] | -| ccl-bin | ✅ | -| clasp | [❌][ecc6] | -| clasp-bin | ✅ | -| clisp | [❌][78c5] | -| clisp-head | ✅ | -| cmu-bin | ✅ | -| ecl | ✅ | -| mkcl | [❌][2801] | -| npt | [❌][7189] | -| sbcl | ✅ | -| sbcl-bin | ✅ | +| **Implementation** | **Linux** | **OSX** | **Windows** | +| --- | --- | --- | --- | +| abcl-bin | ✅ | ✅ | [❌][d780] | +| allegro | [❌][d984] | | | +| ccl-bin | ✅ | ✅ | [❌][d780] | +| clasp | [❌][ecc6] | | [❌][d780] | +| clasp-bin | ✅ | [❌][bf3c] | +| clisp | [❌][78c5] | | [❌][d780] | +| clisp-head | ✅ | [❌][5334] | +| cmu-bin | ✅ | [❌][2599] | [❌][d780] | +| ecl | ✅ | ✅ | [❌][d780] | +| mkcl | [❌][2801] | | | +| npt | [❌][7189] | | | +| sbcl | ✅ | | | +| sbcl-bin | ✅ | ✅ | ✅ | <a id="x-28PROJECT-DOCS-3A-3A-40TYPICAL-USAGE-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a> @@ -250,6 +250,10 @@ If you want to contribute to this system, join development at GitHub: [2801]: https://github.com/40ants/setup-lisp/issues/17 [7189]: https://github.com/40ants/setup-lisp/issues/18 [d984]: https://github.com/40ants/setup-lisp/issues/22 +[d780]: https://github.com/40ants/setup-lisp/issues/27 +[5334]: https://github.com/40ants/setup-lisp/issues/28 +[bf3c]: https://github.com/40ants/setup-lisp/issues/29 +[2599]: https://github.com/40ants/setup-lisp/issues/30 [e3ea]: https://github.com/fukamachi/qlot [3dbd]: https://github.com/mmontone/djula [795a]: https://github.com/roswell/roswell From 2050461d6f9faba7e1faf970f6658f74ae7ccab9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81kos=20Kiss?= <ak@coram.pub> Date: Thu, 18 Apr 2024 04:31:06 +0200 Subject: [PATCH 04/21] Extend cache key with runner architecture #32 --- action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/action.yml b/action.yml index fb6d5f8..1939ebd 100644 --- a/action.yml +++ b/action.yml @@ -211,7 +211,7 @@ runs: uses: actions/cache/restore@v4 with: path: ${{ inputs.roswell-cache-paths }} - key: roswell-${{ inputs.roswell-version }}-${{ steps.locals.outputs.current-month }}-${{ env.cache-name }}-${{ runner.os }}-${{ env.LISP }}-${{ inputs.cache-suffix }} + key: roswell-${{ inputs.roswell-version }}-${{ steps.locals.outputs.current-month }}-${{ env.cache-name }}-${{ runner.os }}-${{ runner.arch }}-${{ env.LISP }}-${{ inputs.cache-suffix }} - if: inputs.cache == 'true' && steps.roswell-cache-restore.outputs.cache-hit == 'true' name: Restore Path To Cached Files From f243cb8ff65e341c0458ffc4b36c169701de3df2 Mon Sep 17 00:00:00 2001 From: Alexander Artemenko <svetlyak.40wt@gmail.com> Date: Thu, 18 Apr 2024 11:07:18 +0300 Subject: [PATCH 05/21] Update changelog. --- changelog.lisp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/changelog.lisp b/changelog.lisp index 2ad66e3..9d9cab5 100644 --- a/changelog.lisp +++ b/changelog.lisp @@ -9,6 +9,12 @@ "PATH" "CL" "HOME")) + (4.0.4 2024-04-18 + " +# Fixed + +* Cache key was extended with runner architecture. Thanks for the contribution to Ákos Kiss! +") (4.0.3 2024-03-12 " # Fixed From cf2feb42237a5c191d0245313d1bee3e5c9c2dc1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <actions@github.com> Date: Thu, 18 Apr 2024 08:10:23 +0000 Subject: [PATCH 06/21] Update docs --- ChangeLog.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ChangeLog.md b/ChangeLog.md index d7f67ec..0e6a75a 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -2,6 +2,16 @@ # ChangeLog +<a id="x-28PROJECT-DOCS-2FCHANGELOG-3A-3A-7C4-2E0-2E4-7C-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a> + +## 4.0.4 (2024-04-18) + +<a id="fixed"></a> + +### Fixed + +* Cache key was extended with runner architecture. Thanks for the contribution to Ákos Kiss! + <a id="x-28PROJECT-DOCS-2FCHANGELOG-3A-3A-7C4-2E0-2E3-7C-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a> ## 4.0.3 (2024-03-12) From 98a5a9d323588a38915a9f26c86155a902f32387 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81kos=20Kiss?= <ak@coram.pub> Date: Fri, 19 Apr 2024 04:00:07 +0200 Subject: [PATCH 07/21] Extend qlot cache key with runner architecture --- action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/action.yml b/action.yml index 1939ebd..6335af5 100644 --- a/action.yml +++ b/action.yml @@ -348,7 +348,7 @@ runs: uses: actions/cache/restore@v4 with: path: ${{ inputs.qlot-cache-paths }} - key: qlot-${{ steps.locals.outputs.current-month }}-${{ env.cache-name }}-${{ runner.os }}-${{ env.QUICKLISP_DIST }}-${{ env.LISP }}-${{ hashFiles('qlfile', 'qlfile.lock', '*.asd') }}-${{ inputs.cache-suffix }} + key: qlot-${{ steps.locals.outputs.current-month }}-${{ env.cache-name }}-${{ runner.os }}-${{ runner.arch }}-${{ env.QUICKLISP_DIST }}-${{ env.LISP }}-${{ hashFiles('qlfile', 'qlfile.lock', '*.asd') }}-${{ inputs.cache-suffix }} - if: inputs.cache == 'true' && steps.qlot-cache-restore.outputs.cache-hit == 'true' name: Restore Path To .qlot/bin From 4d8095299446f712c188427aa6ce3c30acc70945 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81kos=20Kiss?= <ak@coram.pub> Date: Fri, 19 Apr 2024 04:38:51 +0200 Subject: [PATCH 08/21] Add homebrew paths to roswell cache for macos-14 --- action.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/action.yml b/action.yml index 6335af5..ba8322b 100644 --- a/action.yml +++ b/action.yml @@ -46,6 +46,8 @@ inputs: /usr/local/etc/roswell /usr/local/bin/ros /usr/local/Cellar/roswell + /opt/homebrew/bin/ros + /opt/homebrew/Cellar/roswell qlot-cache-paths: description: "Internal var. Don't use it." From f4185fed530aaf9279cf3c9e269226625d4f31d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81kos=20Kiss?= <ak@coram.pub> Date: Fri, 19 Apr 2024 10:17:55 +0200 Subject: [PATCH 09/21] Add macos-14 to test matrix --- .github/workflows/tests.yml | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 6e9301e..fdd03d1 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -52,24 +52,43 @@ jobs: lisp: sbcl-bin # OSX - - os: macos-latest + - os: macos-13 lisp: abcl-bin - - os: macos-latest + - os: macos-13 lisp: ccl-bin # https://github.com/40ants/setup-lisp/issues/29 - # - os: macos-latest + # - os: macos-13 # lisp: clasp-bin # https://github.com/40ants/setup-lisp/issues/28 - # - os: macos-latest + # - os: macos-13 # lisp: clisp-head # https://github.com/40ants/setup-lisp/issues/30 - # - os: macos-latest + # - os: macos-13 # lisp: cmu-bin - - os: macos-latest + - os: macos-13 lisp: ecl - - os: macos-latest + - os: macos-13 lisp: sbcl-bin + - os: macos-14 + lisp: abcl-bin + # - os: macos-14 + # lisp: ccl-bin + # https://github.com/40ants/setup-lisp/issues/29 + # - os: macos-14 + # lisp: clasp-bin + # https://github.com/40ants/setup-lisp/issues/28 + # - os: macos-14 + # lisp: clisp-head + # https://github.com/40ants/setup-lisp/issues/30 + # - os: macos-14 + # lisp: cmu-bin + - os: macos-14 + lisp: ecl + - os: macos-14 + lisp: sbcl-bin + + # Windows # https://github.com/40ants/setup-lisp/issues/27 From abd311beadfb6f07b58a2caa9f4d52b32557a2de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81kos=20Kiss?= <ak@coram.pub> Date: Fri, 19 Apr 2024 10:22:53 +0200 Subject: [PATCH 10/21] Update changelog --- changelog.lisp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/changelog.lisp b/changelog.lisp index 9d9cab5..d363d32 100644 --- a/changelog.lisp +++ b/changelog.lisp @@ -9,6 +9,15 @@ "PATH" "CL" "HOME")) + + (4.0.5 2024-04-19 + " +# Fixed + +* Extended test matrix with macos-14 runner. +* Fixed Roswell cache paths for macos-14 runner. +* Extended qlot cache key with runner architecture. +") (4.0.4 2024-04-18 " # Fixed From 1e6a66be393721f6f30bb5ee73d9f059dfe2fa3f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <actions@github.com> Date: Fri, 26 Apr 2024 07:16:07 +0000 Subject: [PATCH 11/21] Update docs --- ChangeLog.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/ChangeLog.md b/ChangeLog.md index 0e6a75a..d2937b1 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -2,6 +2,18 @@ # ChangeLog +<a id="x-28PROJECT-DOCS-2FCHANGELOG-3A-3A-7C4-2E0-2E5-7C-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a> + +## 4.0.5 (2024-04-19) + +<a id="fixed"></a> + +### Fixed + +* Extended test matrix with macos-14 runner. +* Fixed Roswell cache paths for macos-14 runner. +* Extended qlot cache key with runner architecture. + <a id="x-28PROJECT-DOCS-2FCHANGELOG-3A-3A-7C4-2E0-2E4-7C-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a> ## 4.0.4 (2024-04-18) From 976b3e541936450aecb987d6de13bb508511a6df Mon Sep 17 00:00:00 2001 From: Alexander Artemenko <svetlyak.40wt@gmail.com> Date: Fri, 17 May 2024 15:59:07 +0300 Subject: [PATCH 12/21] Input argument qlot-no-deps was added. It makes Qlot to ignore asd files and their dependencies. This this might be useful in rare cases when your project contains a non-readable asd files such as templates. --- action.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/action.yml b/action.yml index ba8322b..1f393e2 100644 --- a/action.yml +++ b/action.yml @@ -22,6 +22,11 @@ inputs: required: false default: 0.11.5 + qlot-no-deps: + description: 'Make Qlot ignore asd files and their dependencies. This this might be useful in rare cases when your project contains a non-readable asd files such as templates.' + required: false + default: false + qlfile-template: description: "Djula template for qlfile. All environment variables are available in it's context" required: false @@ -363,7 +368,11 @@ runs: shell: lispsh -eo pipefail {0} run: | echo ::group::Create Qlot Environment - qlot install + if [[ "${{ inputs.qlot-no-deps }}" != 'false' ]]; then + qlot install + else + qlot install --no-deps + fi echo ::endgroup:: env: QLFILE_TEMPLATE: ${{ inputs.qlfile-template }} From e14ce570fc49013cb7612d4a75281c449a7dc821 Mon Sep 17 00:00:00 2001 From: Alexander Artemenko <svetlyak.40wt@gmail.com> Date: Fri, 17 May 2024 16:19:34 +0300 Subject: [PATCH 13/21] Updated the changelog. --- changelog.lisp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/changelog.lisp b/changelog.lisp index d363d32..dedd513 100644 --- a/changelog.lisp +++ b/changelog.lisp @@ -10,6 +10,15 @@ "CL" "HOME")) + (4.1.0 2024-05-17 + " +# Added + +* Input argument qlot-no-deps was added. + + Make Qlot ignore asd files and their dependencies. + + This this might be useful in rare cases when your project contains a non-readable asd files such as templates.") (4.0.5 2024-04-19 " # Fixed From fe2e6f885e5c4b90d5da7fed9e3c7ea473ce95e8 Mon Sep 17 00:00:00 2001 From: Alexander Artemenko <svetlyak.40wt@gmail.com> Date: Sat, 18 May 2024 00:21:32 +0300 Subject: [PATCH 14/21] Add more logging. --- action.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/action.yml b/action.yml index 1f393e2..05bb0ec 100644 --- a/action.yml +++ b/action.yml @@ -369,8 +369,10 @@ runs: run: | echo ::group::Create Qlot Environment if [[ "${{ inputs.qlot-no-deps }}" != 'false' ]]; then + echo 'Running Qlot as usual' qlot install else + echo 'Running Qlot with --no-deps argument' qlot install --no-deps fi echo ::endgroup:: From da8536f4ffacf35710848583af73f3805f8b0258 Mon Sep 17 00:00:00 2001 From: Alexander Artemenko <svetlyak.40wt@gmail.com> Date: Sat, 18 May 2024 00:22:24 +0300 Subject: [PATCH 15/21] Fixed condition. --- action.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/action.yml b/action.yml index 05bb0ec..102c6c7 100644 --- a/action.yml +++ b/action.yml @@ -369,11 +369,11 @@ runs: run: | echo ::group::Create Qlot Environment if [[ "${{ inputs.qlot-no-deps }}" != 'false' ]]; then - echo 'Running Qlot as usual' - qlot install - else echo 'Running Qlot with --no-deps argument' qlot install --no-deps + else + echo 'Running Qlot as usual' + qlot install fi echo ::endgroup:: env: From b6c2357e52352a33b9673f4cdbec5e43032c2b8f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <actions@github.com> Date: Sun, 4 Aug 2024 07:22:35 +0000 Subject: [PATCH 16/21] Update docs --- ChangeLog.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/ChangeLog.md b/ChangeLog.md index d2937b1..62ac152 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -2,6 +2,20 @@ # ChangeLog +<a id="x-28PROJECT-DOCS-2FCHANGELOG-3A-3A-7C4-2E1-2E0-7C-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a> + +## 4.1.0 (2024-05-17) + +<a id="added"></a> + +### Added + +* Input argument qlot-no-deps was added. + +Make Qlot ignore asd files and their dependencies. + +This this might be useful in rare cases when your project contains a non-readable asd files such as templates. + <a id="x-28PROJECT-DOCS-2FCHANGELOG-3A-3A-7C4-2E0-2E5-7C-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a> ## 4.0.5 (2024-04-19) From 9467768eb578b953705e2e3ea44e83d17b08ab4c Mon Sep 17 00:00:00 2001 From: Alexander Artemenko <svetlyak.40wt@gmail.com> Date: Sat, 14 Dec 2024 09:37:59 +0000 Subject: [PATCH 17/21] Input variable `dynamic-space-size` was added. It can be used to default set memory size for SBCL. --- action.yml | 9 +++++++++ changelog.lisp | 2 ++ qlfile.lock | 8 ++++---- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/action.yml b/action.yml index 102c6c7..4ab36ef 100644 --- a/action.yml +++ b/action.yml @@ -8,6 +8,10 @@ inputs: required: false default: v23.10.14.114 + dynamic-space-size: + description: 'If given, then will be used to change dynamic space size for SBCL. This value will be written to ~/.roswell/config' + required: false + asdf-system: description: 'ASDF system to install' required: false @@ -259,6 +263,11 @@ runs: curl -L https://raw.githubusercontent.com/roswell/roswell/master/scripts/install-for-ci.sh | bash -xeo pipefail fi + if [[ "${{ inputs.dynamic-space-size }}" != "" ]]; then + echo ::group::Changing Dynamic Space Size in Roswell Config + echo "dynamic-space-size 0 ${{ inputs.dynamic-space-size }}" >> ~/.roswell/config + fi + echo ::endgroup:: - if: inputs.cache == 'false' || steps.roswell-cache-restore.outputs.cache-hit != 'true' diff --git a/changelog.lisp b/changelog.lisp index dedd513..a4a6e2a 100644 --- a/changelog.lisp +++ b/changelog.lisp @@ -10,6 +10,8 @@ "CL" "HOME")) + (4.2.0 2024-12-14 + "Input variable `dynamic-space-size` was added. It can be used to default set memory size for SBCL.") (4.1.0 2024-05-17 " # Added diff --git a/qlfile.lock b/qlfile.lock index 5b007a6..81abab8 100644 --- a/qlfile.lock +++ b/qlfile.lock @@ -1,11 +1,11 @@ ("quicklisp" . (:class qlot/source/dist:source-dist - :initargs (:distribution "http://beta.quicklisp.org/dist/quicklisp.txt" :%version :latest) - :version "2023-10-21")) + :initargs (:distribution "https://beta.quicklisp.org/dist/quicklisp.txt" :%version :latest) + :version "2024-10-12")) ("ultralisp" . (:class qlot/source/dist:source-dist - :initargs (:distribution "http://dist.ultralisp.org" :%version :latest) - :version "20240304201501")) + :initargs (:distribution "https://dist.ultralisp.org" :%version :latest) + :version "20241214090000")) ("sly" . (:class qlot/source/github:source-github :initargs (:repos "svetlyak40wt/sly" :ref nil :branch "patches" :tag nil) From 55b7212e2512b45a8d8543cc6725537fe5dd7ca4 Mon Sep 17 00:00:00 2001 From: Alexander Artemenko <svetlyak.40wt@gmail.com> Date: Sat, 14 Dec 2024 09:51:14 +0000 Subject: [PATCH 18/21] Fixed small problem in the docs. --- .gitignore | 1 + changelog.lisp | 1 + 2 files changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 2720985..f514c9e 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /env/ /.qlot /README +*.fasl diff --git a/changelog.lisp b/changelog.lisp index a4a6e2a..1d74655 100644 --- a/changelog.lisp +++ b/changelog.lisp @@ -8,6 +8,7 @@ (defchangelog (:ignore-words ("ASDF" "PATH" "CL" + "SBCL" "HOME")) (4.2.0 2024-12-14 From 0bbf4764f4c11c708d00354e4a30cab8f8af4791 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <actions@github.com> Date: Sat, 14 Dec 2024 10:03:04 +0000 Subject: [PATCH 19/21] Update docs --- ChangeLog.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ChangeLog.md b/ChangeLog.md index 62ac152..2ca370e 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -2,6 +2,12 @@ # ChangeLog +<a id="x-28PROJECT-DOCS-2FCHANGELOG-3A-3A-7C4-2E2-2E0-7C-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a> + +## 4.2.0 (2024-12-14) + +Input variable `dynamic-space-size` was added. It can be used to default set memory size for `SBCL`. + <a id="x-28PROJECT-DOCS-2FCHANGELOG-3A-3A-7C4-2E1-2E0-7C-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a> ## 4.1.0 (2024-05-17) From 37d6351ff1399409ed092e6a7392e974c8c10cb1 Mon Sep 17 00:00:00 2001 From: Alexander Artemenko <svetlyak.40wt@gmail.com> Date: Sat, 14 Dec 2024 22:05:20 +0000 Subject: [PATCH 20/21] Fixed the way how we set dynamic-space-size. --- action.yml | 2 +- changelog.lisp | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/action.yml b/action.yml index 4ab36ef..e3d1213 100644 --- a/action.yml +++ b/action.yml @@ -265,7 +265,7 @@ runs: if [[ "${{ inputs.dynamic-space-size }}" != "" ]]; then echo ::group::Changing Dynamic Space Size in Roswell Config - echo "dynamic-space-size 0 ${{ inputs.dynamic-space-size }}" >> ~/.roswell/config + ros config set dynamic-space-size ${{ inputs.dynamic-space-size }} fi echo ::endgroup:: diff --git a/changelog.lisp b/changelog.lisp index 1d74655..89be45f 100644 --- a/changelog.lisp +++ b/changelog.lisp @@ -11,6 +11,8 @@ "SBCL" "HOME")) + (4.2.1 2024-12-15 + "Fixed the way how we set dynamic-space-size.") (4.2.0 2024-12-14 "Input variable `dynamic-space-size` was added. It can be used to default set memory size for SBCL.") (4.1.0 2024-05-17 From 76212e4597c780ad0e2ead24144b54310dffb6e3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <actions@github.com> Date: Sat, 14 Dec 2024 22:08:30 +0000 Subject: [PATCH 21/21] Update docs --- ChangeLog.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ChangeLog.md b/ChangeLog.md index 2ca370e..a82b2a3 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -2,6 +2,12 @@ # ChangeLog +<a id="x-28PROJECT-DOCS-2FCHANGELOG-3A-3A-7C4-2E2-2E1-7C-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a> + +## 4.2.1 (2024-12-15) + +Fixed the way how we set dynamic-space-size. + <a id="x-28PROJECT-DOCS-2FCHANGELOG-3A-3A-7C4-2E2-2E0-7C-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a> ## 4.2.0 (2024-12-14)