Lint docs and run on pull-requests.

This commit is contained in:
Alexander Artemenko 2022-11-10 11:44:25 +03:00
parent c06cb2474c
commit 5c4c392deb
2 changed files with 102 additions and 3 deletions

View file

@ -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"
}
]
} }
} }
} }

View file

@ -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)))