setup-lisp/.github/workflows/docs.yml

142 lines
4.6 KiB
YAML
Raw Normal View History

2021-04-22 18:57:34 +00:00
{
"name": "DOCS",
"on": {
"push": {
"branches": [
"master"
]
},
2022-11-10 08:44:25 +00:00
"pull_request": null,
2021-04-22 18:57:34 +00:00
"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",
2022-11-10 08:44:25 +00:00
"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'"
2021-04-22 18:57:34 +00:00
},
{
"name": "Setup Common Lisp Environment",
2021-10-28 14:22:24 +00:00
"uses": "40ants/setup-lisp@v2",
2021-04-22 19:24:34 +00:00
"with": {
2021-10-28 14:22:24 +00:00
"asdf-system": "project-docs"
2022-11-10 08:44:25 +00:00
},
"if": "steps.cache.outputs.cache-hit != 'true'"
2021-04-22 18:57:34 +00:00
},
{
"name": "Build Docs",
"uses": "40ants/build-docs@v1",
"with": {
2021-04-22 19:45:00 +00:00
"asdf-system": "project-docs",
2021-04-22 18:57:34 +00:00
"error-on-warnings": true
}
}
]
2022-11-10 08:44:25 +00:00
},
"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'"
},
{
2023-12-13 22:11:48 +00:00
"name": "Change dist to Ultralisp if qlfile does not exist",
"run": "if [[ ! -e qlfile ]]; then echo 'dist ultralisp http://dist.ultralisp.org' > qlfile; fi",
2022-11-10 08:44:25 +00:00
"shell": "bash"
},
{
"name": "Update Qlot",
2023-12-13 22:11:48 +00:00
"run": "qlot update --no-deps",
2022-11-10 08:44:25 +00:00
"shell": "bash"
},
{
"name": "Install SBLint wrapper",
2023-12-13 22:11:48 +00:00
"run": "qlot exec ros install 40ants-asdf-system 40ants-linter",
2022-11-10 08:44:25 +00:00
"shell": "bash"
},
{
"name": "Run Linter",
"run": "qlot exec 40ants-linter --system \"project-docs\" --imports",
"shell": "bash"
}
]
2021-04-22 18:57:34 +00:00
}
}
2021-04-22 19:24:34 +00:00
}