From 745439a5313af12f421ba6fde9282b339e574f89 Mon Sep 17 00:00:00 2001 From: Alexander Artemenko Date: Sat, 14 Sep 2024 13:25:43 +0000 Subject: [PATCH] Updated CI pipelines. --- .github/workflows/ci.yml | 13 ++++++++++--- .github/workflows/docs.yml | 36 +++++------------------------------ .github/workflows/linter.yml | 36 +++++------------------------------ .github/workflows/release.yml | 2 +- src/ci.lisp | 6 +++++- 5 files changed, 26 insertions(+), 67 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3cb60349..2a206983 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,6 +22,12 @@ "ubuntu-latest", "windows-latest" ], + "exclude": [ + { + "os": "windows-latest", + "lisp": "ccl-bin" + } + ], "lisp": [ "sbcl-bin", "ccl-bin" @@ -37,13 +43,14 @@ "steps": [ { "name": "Checkout Code", - "uses": "actions/checkout@v3" + "uses": "actions/checkout@v4" }, { "name": "Setup Common Lisp Environment", - "uses": "40ants/setup-lisp@v3", + "uses": "40ants/setup-lisp@v4", "with": { - "asdf-system": "reblocks" + "asdf-system": "reblocks", + "cache": "true" } }, { diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 2892e767..1e413d18 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -19,41 +19,15 @@ "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'" + "uses": "actions/checkout@v4" }, { "name": "Setup Common Lisp Environment", - "uses": "40ants/setup-lisp@v3", + "uses": "40ants/setup-lisp@v4", "with": { - "asdf-system": "reblocks-docs" - }, - "if": "steps.cache.outputs.cache-hit != 'true'" + "asdf-system": "reblocks-docs", + "cache": "true" + } }, { "name": "Build Docs", diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index 8604c1cb..3c95bd06 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -14,41 +14,15 @@ "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'" + "uses": "actions/checkout@v4" }, { "name": "Setup Common Lisp Environment", - "uses": "40ants/setup-lisp@v3", + "uses": "40ants/setup-lisp@v4", "with": { - "asdf-system": "reblocks" - }, - "if": "steps.cache.outputs.cache-hit != 'true'" + "asdf-system": "reblocks", + "cache": "true" + } }, { "name": "Change dist to Ultralisp if qlfile does not exist", diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 954a253b..4362396b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,7 +19,7 @@ "steps": [ { "name": "Checkout Code", - "uses": "actions/checkout@v3" + "uses": "actions/checkout@v4" }, { "name": "Create release tag", diff --git a/src/ci.lisp b/src/ci.lisp index 910d3f53..827f464c 100644 --- a/src/ci.lisp +++ b/src/ci.lisp @@ -25,12 +25,16 @@ :on-push-to "master" :by-cron "0 10 * * 1" :on-pull-request t - ;; :cache t + :cache t :jobs ((40ants-ci/jobs/run-tests:run-tests :os ("ubuntu-latest" "windows-latest") :lisp ("sbcl-bin" "ccl-bin") + :exclude ((:os "windows-latest" + ;; CCL-BIN 1.13 has issues on Windows + ;; https://github.com/40ants/reblocks/actions/runs/10862718561/job/30146062047?pr=66 + :lisp "ccl-bin")) :coverage t))) (defworkflow docs