Lint docs and run on pull-requests.
This commit is contained in:
parent
c06cb2474c
commit
5c4c392deb
2 changed files with 102 additions and 3 deletions
100
.github/workflows/docs.yml
vendored
100
.github/workflows/docs.yml
vendored
|
@ -6,6 +6,7 @@
|
||||||
"master"
|
"master"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"pull_request": null,
|
||||||
"schedule": [
|
"schedule": [
|
||||||
{
|
{
|
||||||
"cron": "0 10 * * 1"
|
"cron": "0 10 * * 1"
|
||||||
|
@ -23,14 +24,41 @@
|
||||||
"steps": [
|
"steps": [
|
||||||
{
|
{
|
||||||
"name": "Checkout Code",
|
"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",
|
"name": "Setup Common Lisp Environment",
|
||||||
"uses": "40ants/setup-lisp@v2",
|
"uses": "40ants/setup-lisp@v2",
|
||||||
"with": {
|
"with": {
|
||||||
"asdf-system": "project-docs"
|
"asdf-system": "project-docs"
|
||||||
}
|
},
|
||||||
|
"if": "steps.cache.outputs.cache-hit != 'true'"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Build Docs",
|
"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"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
5
ci.lisp
5
ci.lisp
|
@ -8,5 +8,8 @@
|
||||||
|
|
||||||
(defworkflow docs
|
(defworkflow docs
|
||||||
:on-push-to "master"
|
:on-push-to "master"
|
||||||
|
:on-pull-request t
|
||||||
:by-cron "0 10 * * 1"
|
: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)))
|
||||||
|
|
Loading…
Reference in a new issue