From 0d4e947bd4f2a77cc85496334be3396396784b44 Mon Sep 17 00:00:00 2001 From: Alexander Artemenko Date: Thu, 10 Nov 2022 10:46:13 +0300 Subject: [PATCH 1/3] Switching to msys2/setup-msys2@2.14.0 --- action.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/action.yml b/action.yml index 3365cbf..c768c46 100644 --- a/action.yml +++ b/action.yml @@ -23,9 +23,8 @@ inputs: runs: using: composite steps: - # Switch back to setup-msys2/setup-msys2@v2 if / when the following PR is - # merged: https://github.com/msys2/setup-msys2/pull/172 - - uses: iamFIREcracker/setup-msys2@dont-fail-if-not-windows-with-assets + # Using branch v2.14.0 + - uses: msys2/setup-msys2@d40200dc2db4c351366b048a9565ad82919e1c24 with: # Roswell was added to msys2 just _recently_, so the following makes # sure packages metadata is up to date. Otherwise... From c06cb2474c68f5e525da9d276b89933047e61521 Mon Sep 17 00:00:00 2001 From: Alexander Artemenko Date: Thu, 10 Nov 2022 11:36:26 +0300 Subject: [PATCH 2/3] Moved to newer action msys2/setup-msys2@2.14.2 where a warning about stale Node.js version is fixed. --- changelog.lisp | 4 +++- qlfile.lock | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/changelog.lisp b/changelog.lisp index 8f60484..48c9019 100644 --- a/changelog.lisp +++ b/changelog.lisp @@ -6,6 +6,8 @@ (defchangelog (:ignore-words ("ASDF")) + (2.1.0 2022-11-10 + "Moved to newer action msys2/setup-msys2@2.14.2 where a warning about stale Node.js version is fixed.") (2.0.0 2021-10-28 "# New @@ -27,7 +29,7 @@ Thanks for these changes to Matteo Landi!") (1.1.2 2021-09-19 - "Move from Qlot 0.11.1 to 0.11.5.") + "Move from Qlot 0.11.1 to 0.11.5.") (1.1.1 2021-09-12 "Version of qlot was fixed on 0.11.1, because later versions are broken and unable to install systems from the GitHub. See issue [#118](https://github.com/fukamachi/qlot/issues/118).") diff --git a/qlfile.lock b/qlfile.lock index 10e0b3a..ab1a467 100644 --- a/qlfile.lock +++ b/qlfile.lock @@ -1,12 +1,12 @@ ("quicklisp" . (:class qlot/source/dist:source-dist :initargs (:distribution "http://beta.quicklisp.org/dist/quicklisp.txt" :%version :latest) - :version "2021-10-21")) + :version "2022-11-07")) ("ultralisp" . (:class qlot/source/dist:source-dist :initargs (:distribution "http://dist.ultralisp.org" :%version :latest) - :version "20211028120000")) + :version "20221109175500")) ("sly" . (:class qlot/source/github:source-github :initargs (:repos "svetlyak40wt/sly" :ref nil :branch "patches" :tag nil) - :version "github-028f191582f27e6f1582840c09e6508d71aaa0ab")) + :version "github-030a8441f57f7e0bb401570935e741dfd9edfb83")) From 5c4c392deb87d811f70f812dad11ab0ec4ca56cb Mon Sep 17 00:00:00 2001 From: Alexander Artemenko Date: Thu, 10 Nov 2022 11:44:25 +0300 Subject: [PATCH 3/3] Lint docs and run on pull-requests. --- .github/workflows/docs.yml | 100 ++++++++++++++++++++++++++++++++++++- ci.lisp | 5 +- 2 files changed, 102 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 385354a..0164985 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -6,6 +6,7 @@ "master" ] }, + "pull_request": null, "schedule": [ { "cron": "0 10 * * 1" @@ -23,14 +24,41 @@ "steps": [ { "name": "Checkout Code", - "uses": "actions/checkout@v1" + "uses": "actions/checkout@v3" + }, + { + "name": "Grant All Perms to Make Cache Restoring Possible", + "run": "sudo mkdir -p /usr/local/etc/roswell\n sudo chown \"${USER}\" /usr/local/etc/roswell\n # Here the ros binary will be restored:\n sudo chown \"${USER}\" /usr/local/bin", + "shell": "bash" + }, + { + "name": "Get Current Month", + "id": "current-month", + "run": "echo \"value=$(date -u \"+%Y-%m\")\" >> $GITHUB_OUTPUT", + "shell": "bash" + }, + { + "name": "Cache Roswell Setup", + "id": "cache", + "uses": "actions/cache@v3", + "with": { + "path": "qlfile\nqlfile.lock\n~/.cache/common-lisp/\n~/.roswell\n/usr/local/etc/roswell\n/usr/local/bin/ros\n/usr/local/Cellar/roswell\n.qlot", + "key": "a-${{ steps.current-month.outputs.value }}-${{ env.cache-name }}-ubuntu-latest-quicklisp-sbcl-bin-${{ hashFiles('qlfile.lock', '*.asd') }}" + } + }, + { + "name": "Restore Path To Cached Files", + "run": "echo $HOME/.roswell/bin >> $GITHUB_PATH\n echo .qlot/bin >> $GITHUB_PATH", + "shell": "bash", + "if": "steps.cache.outputs.cache-hit == 'true'" }, { "name": "Setup Common Lisp Environment", "uses": "40ants/setup-lisp@v2", "with": { "asdf-system": "project-docs" - } + }, + "if": "steps.cache.outputs.cache-hit != 'true'" }, { "name": "Build Docs", @@ -41,6 +69,74 @@ } } ] + }, + "linter": { + "runs-on": "ubuntu-latest", + "env": { + "OS": "ubuntu-latest", + "QUICKLISP_DIST": "quicklisp", + "LISP": "sbcl-bin" + }, + "steps": [ + { + "name": "Checkout Code", + "uses": "actions/checkout@v3" + }, + { + "name": "Grant All Perms to Make Cache Restoring Possible", + "run": "sudo mkdir -p /usr/local/etc/roswell\n sudo chown \"${USER}\" /usr/local/etc/roswell\n # Here the ros binary will be restored:\n sudo chown \"${USER}\" /usr/local/bin", + "shell": "bash" + }, + { + "name": "Get Current Month", + "id": "current-month", + "run": "echo \"value=$(date -u \"+%Y-%m\")\" >> $GITHUB_OUTPUT", + "shell": "bash" + }, + { + "name": "Cache Roswell Setup", + "id": "cache", + "uses": "actions/cache@v3", + "with": { + "path": "qlfile\nqlfile.lock\n~/.cache/common-lisp/\n~/.roswell\n/usr/local/etc/roswell\n/usr/local/bin/ros\n/usr/local/Cellar/roswell\n.qlot", + "key": "a-${{ steps.current-month.outputs.value }}-${{ env.cache-name }}-ubuntu-latest-quicklisp-sbcl-bin-${{ hashFiles('qlfile.lock', '*.asd') }}" + } + }, + { + "name": "Restore Path To Cached Files", + "run": "echo $HOME/.roswell/bin >> $GITHUB_PATH\n echo .qlot/bin >> $GITHUB_PATH", + "shell": "bash", + "if": "steps.cache.outputs.cache-hit == 'true'" + }, + { + "name": "Setup Common Lisp Environment", + "uses": "40ants/setup-lisp@v2", + "with": { + "asdf-system": "project-docs" + }, + "if": "steps.cache.outputs.cache-hit != 'true'" + }, + { + "name": "Change dist to Ultralisp", + "run": "echo 'dist ultralisp http://dist.ultralisp.org' > qlfile", + "shell": "bash" + }, + { + "name": "Update Qlot", + "run": "qlot update || qlot update", + "shell": "bash" + }, + { + "name": "Install SBLint wrapper", + "run": "qlot exec ros install 40ants-linter", + "shell": "bash" + }, + { + "name": "Run Linter", + "run": "qlot exec 40ants-linter --system \"project-docs\" --imports", + "shell": "bash" + } + ] } } } \ No newline at end of file diff --git a/ci.lisp b/ci.lisp index 8d1ebb0..4e12ea7 100644 --- a/ci.lisp +++ b/ci.lisp @@ -8,5 +8,8 @@ (defworkflow docs :on-push-to "master" + :on-pull-request t :by-cron "0 10 * * 1" - :jobs ((40ants-ci/jobs/docs:build-docs))) + :cache t + :jobs ((40ants-ci/jobs/docs:build-docs) + (40ants-ci/jobs/linter:linter :check-imports t)))