diff --git a/ChangeLog.md b/ChangeLog.md index 51d5798..8175316 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -2,6 +2,20 @@ # ChangeLog + + +## 0.13.0 (2023-12-14) + + + +### Changed + +Jobs now use setup-lisp@v3 action where a fix to quicklisp-client is applied. +This fix makes ql:quickload work with package-inferred systems. + +If you want to use this fix in your own environments, you can find +it [here][64c0]. + ## 0.12.0 (2023-12-11) @@ -82,7 +96,7 @@ if `:cache t` was given to a job running on `OSX` and Roswell was restored from ## 0.7.0 (2022-03-13) -* `40ants-ci/jobs/critic:critic` ([`1`][484a] [`2`][cd00]) function's argument `IGNORE-CRITICUES` was +* `40ants-ci/jobs/critic:critic` ([`1`][cd00] [`2`][484a]) function's argument `IGNORE-CRITICUES` was renames to the `IGNORE-CRITIQUES` argument. @@ -109,7 +123,7 @@ Learn more about this job type at [`Critic`][240b] section. ## 0.3.0 (2021-10-24) -* Now jobs `40ants-ci/jobs/linter:linter` ([`1`][523a] [`2`][8918]), `40ants-ci/jobs/run-tests:run-tests` ([`1`][6cb7] [`2`][e35d]) and `40ants-ci/jobs/docs:build-docs` ([`1`][1ddb] [`2`][13b8]) +* Now jobs `40ants-ci/jobs/linter:linter` ([`1`][8918] [`2`][523a]), `40ants-ci/jobs/run-tests:run-tests` ([`1`][e35d] [`2`][6cb7]) and `40ants-ci/jobs/docs:build-docs` ([`1`][13b8] [`2`][1ddb]) support `ASDF-VERSION` argument. @@ -163,6 +177,7 @@ changed. [e35d]: https://40ants.com/ci/#x-2840ANTS-CI-2FJOBS-2FRUN-TESTS-3ARUN-TESTS-20FUNCTION-29 [240b]: https://40ants.com/ci/#x-2840ANTS-CI-3A-3A-40CRITIC-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29 [22b4]: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/ +[64c0]: https://github.com/40ants/quicklisp-client-fix * * * ###### [generated by [40ANTS-DOC](https://40ants.com/doc/)] diff --git a/README.md b/README.md index 87a6d2c..7b27e4e 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ actions and [`SBLint`][2f94] to check code for compilation errors. ## 40ANTS-CI ASDF System Details -* Version: 0.12.0 +* Version: 0.13.0 * Description: A tool simplify continuous deployment for Common Lisp projects. * Licence: `BSD` * Author: Alexander Artemenko @@ -77,19 +77,20 @@ it's source type to the `latest-github-tag` to provide more stable releases to y users. This way you commits into master will be ignored until you change the changelog and git tag will be pushed. Here is an [example][1cec] how to setup this kind of quicklisp project source. +```lisp (defworkflow release :on-push-to "master" :jobs ((40ants-ci/jobs/autotag:autotag))) - +``` -##### [function](3bda) `40ants-ci/jobs/autotag:autotag` &key (filename \*default-filename\*) (regex \*default-regex\*) (tag-prefix \*default-tag-prefix\*) (token-pattern \*default-token-pattern\*) +##### [function](3bc0) `40ants-ci/jobs/autotag:autotag` &key (filename \*default-filename\*) (regex \*default-regex\*) (tag-prefix \*default-tag-prefix\*) (token-pattern \*default-token-pattern\*) Creates a job which will run autotagger to create a new git tag for release. -##### [class](f4d4) `40ants-ci/jobs/autotag:autotag` (job) +##### [class](118f) `40ants-ci/jobs/autotag:autotag` (job) This type of the job created a git tag when finds a new tag in specified file. @@ -128,7 +129,7 @@ it will generate `.github/workflows/linter.yml` with following content: }, { "name": "Setup Common Lisp Environment", - "uses": "40ants/setup-lisp@v2", + "uses": "40ants/setup-lisp@v3", "with": { "asdf-system": "example" } @@ -160,7 +161,7 @@ Another interesting thing is that this workflow automatically uses `ubuntu-lates -##### [class](21c7) `40ants-ci/jobs/linter:linter` (lisp-job) +##### [class](e388) `40ants-ci/jobs/linter:linter` (lisp-job) @@ -196,7 +197,7 @@ to learn about supported arguments. #### Running Tests -Another interesting job type is `40ants-ci/jobs/run-tests:run-tests` ([`1`][6cb7] [`2`][e35d]). +Another interesting job type is `40ants-ci/jobs/run-tests:run-tests` ([`1`][e35d] [`2`][6cb7]). When using this job type, make sure, your system runs tests on `(ASDF:TEST-SYSTEM :system-name)` call @@ -250,7 +251,7 @@ It will generate `.github/workflows/ci.yml` with following content: }, { "name": "Setup Common Lisp Environment", - "uses": "40ants/setup-lisp@v2", + "uses": "40ants/setup-lisp@v3", "with": { "asdf-system": "example" } @@ -349,7 +350,7 @@ Here is how these jobs will look like in the GitHub interface: #### Building Docs -Third predefined job type is `40ants-ci/jobs/docs:build-docs` ([`1`][1ddb] [`2`][13b8]). +Third predefined job type is `40ants-ci/jobs/docs:build-docs` ([`1`][13b8] [`2`][1ddb]). It uses [40ants/build-docs][613f] action and will work only if your `ASDF` system uses a documentation builder supported by [40ants/docs-builder][f2be]. @@ -390,7 +391,7 @@ It will generate `.github/workflows/docs.yml` with following content: }, { "name": "Setup Common Lisp Environment", - "uses": "40ants/setup-lisp@v2", + "uses": "40ants/setup-lisp@v3", "with": { "asdf-system": "example", "qlfile-template": "" @@ -460,7 +461,7 @@ modified .github/workflows/docs.yml + }, { "name": "Setup Common Lisp Environment", - "uses": "40ants/setup-lisp@v2", + "uses": "40ants/setup-lisp@v3", "with": { "asdf-system": "40ants-ci", "qlfile-template": "" @@ -479,7 +480,7 @@ and a way how to create new job types. -### [function](b65e) `40ants-ci:generate` system &key path +### [function](241d) `40ants-ci:generate` system &key path Generates GitHub workflow for given `ASDF` system. @@ -491,47 +492,47 @@ to .github/workflow/ relarive to the `SYSTEM`. -### [function](867f) `40ants-ci/jobs/run-tests:run-tests` &rest rest &key coverage qlfile asdf-system asdf-version os quicklisp lisp exclude custom +### [function](3b7a) `40ants-ci/jobs/run-tests:run-tests` &rest rest &key coverage qlfile asdf-system asdf-version os quicklisp lisp exclude custom Creates a job step of class [`run-tests`][6cb7]. -### [class](458d) `40ants-ci/jobs/run-tests:run-tests` (lisp-job) +### [class](1cb9) `40ants-ci/jobs/run-tests:run-tests` (lisp-job) This job test runs tests for a given `ASDF` system. -### [function](169c) `40ants-ci/jobs/docs:build-docs` &key asdf-system asdf-version (error-on-warnings t) +### [function](b69b) `40ants-ci/jobs/docs:build-docs` &key asdf-system asdf-version (error-on-warnings t) Creates a job of class [`build-docs`][1ddb]. -### [class](9914) `40ants-ci/jobs/docs:build-docs` (lisp-job) +### [class](965f) `40ants-ci/jobs/docs:build-docs` (lisp-job) Builds documentation and uploads it to GitHub using ["40ants/build-docs" github action][613f]. -### [class](5588) `40ants-ci/jobs/job:job` () +### [class](9399) `40ants-ci/jobs/job:job` () -### [reader](3c3a) `40ants-ci/jobs/job:name` (job) (:name) +### [reader](8156) `40ants-ci/jobs/job:name` (job) (:name) -### [reader](a207) `40ants-ci/jobs/job:os` (job) (:OS = "ubuntu-latest") +### [reader](8803) `40ants-ci/jobs/job:os` (job) (:OS = "ubuntu-latest") -### [reader](2b80) `40ants-ci/jobs/job:steps` (job) (:steps = nil) +### [reader](ee11) `40ants-ci/jobs/job:steps` (job) (:steps = nil) -### [reader](f0ba) `40ants-ci/jobs/job:permissions` (job) (:permissions = nil) +### [reader](3357) `40ants-ci/jobs/job:permissions` (job) (:permissions = nil) A plist of permissions need for running the job. @@ -544,47 +545,47 @@ Use default-initargs to override permissions in subclasses: ``` -### [generic-function](f880) `40ants-ci/jobs/job:make-env` job +### [generic-function](9363) `40ants-ci/jobs/job:make-env` job -### [generic-function](6169) `40ants-ci/jobs/job:use-matrix-p` job +### [generic-function](d371) `40ants-ci/jobs/job:use-matrix-p` job -### [generic-function](cfab) `40ants-ci/jobs/job:make-matrix` job +### [generic-function](60e1) `40ants-ci/jobs/job:make-matrix` job -### [generic-function](f3e5) `40ants-ci/jobs/job:make-permissions` job +### [generic-function](a3c4) `40ants-ci/jobs/job:make-permissions` job Should return an alist with mapping from string to string where keys are scopes and values are permission names. Default method generates this alist from the plist of job's "permissions" slot. -### [class](5711) `40ants-ci/jobs/lisp-job:lisp-job` (job) +### [class](3694) `40ants-ci/jobs/lisp-job:lisp-job` (job) This job checkouts the sources, installs Roswell and Qlot. Also, it caches results between runs. -### [reader](2e2f) `40ants-ci/jobs/lisp-job:lisp` (lisp-job) (:LISP = "sbcl-bin") +### [reader](2653) `40ants-ci/jobs/lisp-job:lisp` (lisp-job) (:LISP = "sbcl-bin") -### [reader](9956) `40ants-ci/jobs/lisp-job:asdf-system` (lisp-job) (:asdf-system = nil) +### [reader](dc74) `40ants-ci/jobs/lisp-job:asdf-system` (lisp-job) (:asdf-system = nil) -### [reader](953b) `40ants-ci/jobs/lisp-job:quicklisp` (lisp-job) (:QUICKLISP = "quicklisp") +### [reader](3671) `40ants-ci/jobs/lisp-job:quicklisp` (lisp-job) (:QUICKLISP = "quicklisp") -### [class](21c7) `40ants-ci/jobs/linter:linter` (lisp-job) +### [class](e388) `40ants-ci/jobs/linter:linter` (lisp-job) -### [function](014f) `40ants-ci/jobs/linter:linter` &key asdf-systems asdf-version check-imports +### [function](0b2a) `40ants-ci/jobs/linter:linter` &key asdf-systems asdf-version check-imports Creates a job which will run `SBL`int for given `ASDF` systems. @@ -593,11 +594,11 @@ the current `ASDF` system. -### [class](8a77) `40ants-ci/jobs/critic:critic` (lisp-job) +### [class](1921) `40ants-ci/jobs/critic:critic` (lisp-job) -### [function](ddea) `40ants-ci/jobs/critic:critic` &key asdf-systems asdf-version ignore-critiques +### [function](096e) `40ants-ci/jobs/critic:critic` &key asdf-systems asdf-version ignore-critiques Creates a job which will run Lisp Critic for given `ASDF` systems. @@ -609,13 +610,13 @@ a string. By default, the latest `ASDF` version will be used. -### [class](f4d4) `40ants-ci/jobs/autotag:autotag` (job) +### [class](118f) `40ants-ci/jobs/autotag:autotag` (job) This type of the job created a git tag when finds a new tag in specified file. -### [function](3bda) `40ants-ci/jobs/autotag:autotag` &key (filename \*default-filename\*) (regex \*default-regex\*) (tag-prefix \*default-tag-prefix\*) (token-pattern \*default-token-pattern\*) +### [function](3bc0) `40ants-ci/jobs/autotag:autotag` &key (filename \*default-filename\*) (regex \*default-regex\*) (tag-prefix \*default-tag-prefix\*) (token-pattern \*default-token-pattern\*) Creates a job which will run autotagger to create a new git tag for release. @@ -637,30 +638,30 @@ Creates a job which will run autotagger to create a new git tag for release. [b60c]: https://coveralls.io/ [e681]: https://github.com/40ants/ci [de0b]: https://github.com/40ants/ci/actions -[b65e]: https://github.com/40ants/ci/blob/a09082f45eb37292a15252d7c214c26409cb52db/src/core.lisp#L568 -[f4d4]: https://github.com/40ants/ci/blob/a09082f45eb37292a15252d7c214c26409cb52db/src/jobs/autotag.lisp#L18 -[3bda]: https://github.com/40ants/ci/blob/a09082f45eb37292a15252d7c214c26409cb52db/src/jobs/autotag.lisp#L44 -[8a77]: https://github.com/40ants/ci/blob/a09082f45eb37292a15252d7c214c26409cb52db/src/jobs/critic.lisp#L12 -[ddea]: https://github.com/40ants/ci/blob/a09082f45eb37292a15252d7c214c26409cb52db/src/jobs/critic.lisp#L22 -[9914]: https://github.com/40ants/ci/blob/a09082f45eb37292a15252d7c214c26409cb52db/src/jobs/docs.lisp#L14 -[169c]: https://github.com/40ants/ci/blob/a09082f45eb37292a15252d7c214c26409cb52db/src/jobs/docs.lisp#L21 -[f3e5]: https://github.com/40ants/ci/blob/a09082f45eb37292a15252d7c214c26409cb52db/src/jobs/job.lisp#L111 -[5588]: https://github.com/40ants/ci/blob/a09082f45eb37292a15252d7c214c26409cb52db/src/jobs/job.lisp#L22 -[3c3a]: https://github.com/40ants/ci/blob/a09082f45eb37292a15252d7c214c26409cb52db/src/jobs/job.lisp#L23 -[a207]: https://github.com/40ants/ci/blob/a09082f45eb37292a15252d7c214c26409cb52db/src/jobs/job.lisp#L25 -[2b80]: https://github.com/40ants/ci/blob/a09082f45eb37292a15252d7c214c26409cb52db/src/jobs/job.lisp#L32 -[f0ba]: https://github.com/40ants/ci/blob/a09082f45eb37292a15252d7c214c26409cb52db/src/jobs/job.lisp#L35 -[6169]: https://github.com/40ants/ci/blob/a09082f45eb37292a15252d7c214c26409cb52db/src/jobs/job.lisp#L69 -[cfab]: https://github.com/40ants/ci/blob/a09082f45eb37292a15252d7c214c26409cb52db/src/jobs/job.lisp#L74 -[f880]: https://github.com/40ants/ci/blob/a09082f45eb37292a15252d7c214c26409cb52db/src/jobs/job.lisp#L85 -[21c7]: https://github.com/40ants/ci/blob/a09082f45eb37292a15252d7c214c26409cb52db/src/jobs/linter.lisp#L14 -[014f]: https://github.com/40ants/ci/blob/a09082f45eb37292a15252d7c214c26409cb52db/src/jobs/linter.lisp#L33 -[5711]: https://github.com/40ants/ci/blob/a09082f45eb37292a15252d7c214c26409cb52db/src/jobs/lisp-job.lisp#L26 -[953b]: https://github.com/40ants/ci/blob/a09082f45eb37292a15252d7c214c26409cb52db/src/jobs/lisp-job.lisp#L27 -[2e2f]: https://github.com/40ants/ci/blob/a09082f45eb37292a15252d7c214c26409cb52db/src/jobs/lisp-job.lisp#L30 -[9956]: https://github.com/40ants/ci/blob/a09082f45eb37292a15252d7c214c26409cb52db/src/jobs/lisp-job.lisp#L36 -[458d]: https://github.com/40ants/ci/blob/a09082f45eb37292a15252d7c214c26409cb52db/src/jobs/run-tests.lisp#L18 -[867f]: https://github.com/40ants/ci/blob/a09082f45eb37292a15252d7c214c26409cb52db/src/jobs/run-tests.lisp#L28 +[241d]: https://github.com/40ants/ci/blob/4c5af25f832bca2daa7a6e3f796da93ce2074720/src/core.lisp#L570 +[118f]: https://github.com/40ants/ci/blob/4c5af25f832bca2daa7a6e3f796da93ce2074720/src/jobs/autotag.lisp#L18 +[3bc0]: https://github.com/40ants/ci/blob/4c5af25f832bca2daa7a6e3f796da93ce2074720/src/jobs/autotag.lisp#L44 +[1921]: https://github.com/40ants/ci/blob/4c5af25f832bca2daa7a6e3f796da93ce2074720/src/jobs/critic.lisp#L12 +[096e]: https://github.com/40ants/ci/blob/4c5af25f832bca2daa7a6e3f796da93ce2074720/src/jobs/critic.lisp#L22 +[965f]: https://github.com/40ants/ci/blob/4c5af25f832bca2daa7a6e3f796da93ce2074720/src/jobs/docs.lisp#L14 +[b69b]: https://github.com/40ants/ci/blob/4c5af25f832bca2daa7a6e3f796da93ce2074720/src/jobs/docs.lisp#L21 +[a3c4]: https://github.com/40ants/ci/blob/4c5af25f832bca2daa7a6e3f796da93ce2074720/src/jobs/job.lisp#L111 +[9399]: https://github.com/40ants/ci/blob/4c5af25f832bca2daa7a6e3f796da93ce2074720/src/jobs/job.lisp#L22 +[8156]: https://github.com/40ants/ci/blob/4c5af25f832bca2daa7a6e3f796da93ce2074720/src/jobs/job.lisp#L23 +[8803]: https://github.com/40ants/ci/blob/4c5af25f832bca2daa7a6e3f796da93ce2074720/src/jobs/job.lisp#L25 +[ee11]: https://github.com/40ants/ci/blob/4c5af25f832bca2daa7a6e3f796da93ce2074720/src/jobs/job.lisp#L32 +[3357]: https://github.com/40ants/ci/blob/4c5af25f832bca2daa7a6e3f796da93ce2074720/src/jobs/job.lisp#L35 +[d371]: https://github.com/40ants/ci/blob/4c5af25f832bca2daa7a6e3f796da93ce2074720/src/jobs/job.lisp#L69 +[60e1]: https://github.com/40ants/ci/blob/4c5af25f832bca2daa7a6e3f796da93ce2074720/src/jobs/job.lisp#L74 +[9363]: https://github.com/40ants/ci/blob/4c5af25f832bca2daa7a6e3f796da93ce2074720/src/jobs/job.lisp#L85 +[e388]: https://github.com/40ants/ci/blob/4c5af25f832bca2daa7a6e3f796da93ce2074720/src/jobs/linter.lisp#L14 +[0b2a]: https://github.com/40ants/ci/blob/4c5af25f832bca2daa7a6e3f796da93ce2074720/src/jobs/linter.lisp#L33 +[3694]: https://github.com/40ants/ci/blob/4c5af25f832bca2daa7a6e3f796da93ce2074720/src/jobs/lisp-job.lisp#L26 +[3671]: https://github.com/40ants/ci/blob/4c5af25f832bca2daa7a6e3f796da93ce2074720/src/jobs/lisp-job.lisp#L27 +[2653]: https://github.com/40ants/ci/blob/4c5af25f832bca2daa7a6e3f796da93ce2074720/src/jobs/lisp-job.lisp#L30 +[dc74]: https://github.com/40ants/ci/blob/4c5af25f832bca2daa7a6e3f796da93ce2074720/src/jobs/lisp-job.lisp#L36 +[1cb9]: https://github.com/40ants/ci/blob/4c5af25f832bca2daa7a6e3f796da93ce2074720/src/jobs/run-tests.lisp#L18 +[3b7a]: https://github.com/40ants/ci/blob/4c5af25f832bca2daa7a6e3f796da93ce2074720/src/jobs/run-tests.lisp#L28 [2f94]: https://github.com/cxxxr/sblint [1cec]: https://github.com/quicklisp/quicklisp-projects/blob/ee133271c81caf5d8bbf8cef3054544ff47b64c6/projects/alexa/source.txt [2c00]: https://quickdocs.org/40ants-doc