diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 768dfab..5272f30 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -1,55 +1,46 @@ -name: 'Docs' - -on: - # This will run tests on pushes - # to master branch and every monday: - push: - branches: - - 'main' - - 'master' - schedule: - - cron: '0 10 * * 1' - -jobs: - build-docs: - runs-on: ubuntu-latest - - env: - LISP: sbcl-bin - - steps: - - uses: actions/checkout@v1 - - name: Grant All Perms to Make Cache Restoring Possible - run: | - sudo mkdir -p /usr/local/etc/roswell - sudo chown "${USER}" /usr/local/etc/roswell - # Here the ros binary will be restored: - sudo chown "${USER}" /usr/local/bin - - name: Get Current Month - id: current-month - run: | - echo "::set-output name=value::$(date -u "+%Y-%m")" - - name: Cache Roswell Setup - id: cache - uses: actions/cache@v2 - env: - cache-name: cache-roswell - with: - path: | - /usr/local/bin/ros - ~/.cache/common-lisp/ - ~/.roswell - /usr/local/etc/roswell - .qlot - key: "${{ steps.current-month.outputs.value }}-${{ env.cache-name }}-${{ runner.os }}-${{ hashFiles('qlfile.lock') }}" - - name: Restore Path To Cached Files - run: | - echo $HOME/.roswell/bin >> $GITHUB_PATH - echo .qlot/bin >> $GITHUB_PATH - if: steps.cache.outputs.cache-hit == 'true' - - uses: 40ants/setup-lisp@v1 - if: steps.cache.outputs.cache-hit != 'true' - - uses: 40ants/build-docs@v1 - with: - asdf-system: docs - # ngrok-auth-token: ${{ secrets.NGROK_AUTH_TOKEN }} +{ + "name": "DOCS", + "on": { + "push": { + "branches": [ + "master" + ] + }, + "schedule": [ + { + "cron": "0 10 * * 1" + } + ] + }, + "jobs": { + "build-docs": { + "runs-on": "ubuntu-latest", + "env": { + "OS": "ubuntu-latest", + "QUICKLISP_DIST": "quicklisp", + "LISP": "sbcl-bin" + }, + "steps": [ + { + "name": "Checkout Code", + "uses": "actions/checkout@v1" + }, + { + "name": "Setup Common Lisp Environment", + "uses": "40ants/setup-lisp@v1", + "with": { + "asdf-system": "docs" + } + }, + { + "name": "Build Docs", + "uses": "40ants/build-docs@v1", + "with": { + "asdf-system": "docs", + "error-on-warnings": true + } + } + ] + } + } +} \ No newline at end of file diff --git a/README.md b/README.md index 1489eea..caf64a1 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,15 @@ - + # GitHub Action to Setup Common Lisp for CI ## Table of Contents -- [1 What this action does for you?][f73c] -- [2 A typical usage][ff56] -- [3 Overriding qlfile][d1d0] -- [4 Caching][8d36] -- [5 Roadmap][278a] -- [6 Contribution][c105] +- [1 What this action does for you?][a4be] +- [2 A typical usage][3b34] +- [3 Overriding qlfile][8d79] +- [4 Caching][5f3e] +- [5 Roadmap][0187] +- [6 Contribution][e0ca] ###### \[in package DOCS with nicknames DOCS/DOCS\] This is a Github Action to setup Common Lisp, Roswell and Qlot. @@ -19,7 +19,7 @@ for your Common Lisp libraries. Action encapsulates all steps necessary to make available [Roswell](https://github.com/roswell/roswell) and [Qlot](https://github.com/fukamachi/qlot) inside the Github CI. - + ## 1 What this action does for you? @@ -39,7 +39,7 @@ and [Qlot](https://github.com/fukamachi/qlot) inside the Github CI. But this step is optional. - + ## 2 A typical usage @@ -101,7 +101,7 @@ env: The last step in this workflow runs tests for the specified `ASDF` system. It is documented [here](https://40ants.com/run-tests). - + ## 3 Overriding qlfile @@ -140,8 +140,6 @@ steps: {% ifequal quicklisp_dist "ultralisp" %} dist ultralisp http://dist.ultralisp.org {% endifequal %} - - github mgl-pax svetlyak40wt/mgl-pax :branch mgl-pax-minimal ``` Here we see a few important things. @@ -159,7 +157,7 @@ Also note, it is using [Djula](https://github.com/mmontone/djula) markup, similar to [Django](https://docs.djangoproject.com/en/3.1/topics/templates/) and [Jinja2](https://jinja.palletsprojects.com/). - + ## 4 Caching @@ -221,7 +219,7 @@ It controls when your cache will be matched. If you are using `matrix`, put all I also added a current month there, to make sure cache will be renewed at least monthly. This way a new Roswell, Qlot and `ASDF` will be used in a build. - + ## 5 Roadmap @@ -230,7 +228,7 @@ It controls when your cache will be matched. If you are using `matrix`, put all - Vendor all dependencies, to make action more reliable and secure. - + ## 6 Contribution @@ -238,12 +236,12 @@ If you want to contribute to this system, join development at GitHub: - [278a]: #x-28DOCS-3A-40ROADMAP-20MGL-PAX-MINIMAL-3ASECTION-29 "Roadmap" - [8d36]: #x-28DOCS-3A-40CACHING-20MGL-PAX-MINIMAL-3ASECTION-29 "Caching" - [c105]: #x-28DOCS-3A-40CONTRIBUTION-20MGL-PAX-MINIMAL-3ASECTION-29 "Contribution" - [d1d0]: #x-28DOCS-3A-40QL-FILE-20MGL-PAX-MINIMAL-3ASECTION-29 "Overriding qlfile" - [f73c]: #x-28DOCS-3A-40FEATURES-20MGL-PAX-MINIMAL-3ASECTION-29 "What this action does for you?" - [ff56]: #x-28DOCS-3A-40TYPICAL-USAGE-20MGL-PAX-MINIMAL-3ASECTION-29 "A typical usage" + [0187]: #x-28DOCS-3A-40ROADMAP-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29 "Roadmap" + [3b34]: #x-28DOCS-3A-40TYPICAL-USAGE-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29 "A typical usage" + [5f3e]: #x-28DOCS-3A-40CACHING-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29 "Caching" + [8d79]: #x-28DOCS-3A-40QL-FILE-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29 "Overriding qlfile" + [a4be]: #x-28DOCS-3A-40FEATURES-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29 "What this action does for you?" + [e0ca]: #x-28DOCS-3A-40CONTRIBUTION-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29 "Contribution" * * * -###### \[generated by [MGL-PAX](https://github.com/melisgl/mgl-pax)\] +###### \[generated by [40ANTS-DOC](https://40ants.com/doc)\] diff --git a/ci.lisp b/ci.lisp new file mode 100644 index 0000000..df8aaad --- /dev/null +++ b/ci.lisp @@ -0,0 +1,12 @@ +(defpackage #:docs/ci + (:use #:cl) + (:import-from #:40ants-ci/workflow + #:defworkflow) + (:import-from #:40ants-ci/jobs/docs)) +(in-package docs/ci) + + +(defworkflow docs + :on-push-to "master" + :by-cron "0 10 * * 1" + :jobs ((40ants-ci/jobs/docs:build-docs))) diff --git a/docs.lisp b/docs.lisp index 97b0c7b..5c0c09b 100644 --- a/docs.lisp +++ b/docs.lisp @@ -1,13 +1,14 @@ (defpackage #:docs (:use #:cl) (:nicknames #:docs/docs) - (:import-from #:mgl-pax-minimal - #:defsection - #:section)) + (:import-from #:40ants-doc + #:defsection)) (in-package docs) -(defsection @index (:title "GitHub Action to Setup Common Lisp for CI") +(defsection @index (:title "GitHub Action to Setup Common Lisp for CI" + :ignore-words ("OSX" + "LISP")) " This is a Github Action to setup Common Lisp, Roswell and Qlot. @@ -137,8 +138,6 @@ steps: {% ifequal quicklisp_dist \"ultralisp\" %} dist ultralisp http://dist.ultralisp.org {% endifequal %} - - github mgl-pax svetlyak40wt/mgl-pax :branch mgl-pax-minimal ``` Here we see a few important things. diff --git a/qlfile b/qlfile index 1c19650..c593697 100644 --- a/qlfile +++ b/qlfile @@ -1,5 +1,3 @@ dist ultralisp http://dist.ultralisp.org -# Unless this patch is not merged: -github mgl-pax svetlyak40wt/mgl-pax :branch mgl-pax-minimal github sly svetlyak40wt/sly :branch patches diff --git a/qlfile.lock b/qlfile.lock index 693e173..1018bba 100644 --- a/qlfile.lock +++ b/qlfile.lock @@ -1,15 +1,11 @@ ("quicklisp" . (:class qlot/source/dist:source-dist :initargs (:distribution "http://beta.quicklisp.org/dist/quicklisp.txt" :%version :latest) - :version "2021-01-24")) + :version "2021-04-11")) ("ultralisp" . (:class qlot/source/dist:source-dist :initargs (:distribution "http://dist.ultralisp.org" :%version :latest) - :version "20210224171000")) -("mgl-pax" . - (:class qlot/source/github:source-github - :initargs (:repos "svetlyak40wt/mgl-pax" :ref nil :branch "mgl-pax-minimal" :tag nil) - :version "github-6c4eecc1be34466756e6096d1c5071f5")) + :version "20210422152500")) ("sly" . (:class qlot/source/github:source-github :initargs (:repos "svetlyak40wt/sly" :ref nil :branch "patches" :tag nil)