142 lines
No EOL
4.6 KiB
YAML
142 lines
No EOL
4.6 KiB
YAML
{
|
|
"name": "DOCS",
|
|
"on": {
|
|
"push": {
|
|
"branches": [
|
|
"master"
|
|
]
|
|
},
|
|
"pull_request": null,
|
|
"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@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": "Build Docs",
|
|
"uses": "40ants/build-docs@v1",
|
|
"with": {
|
|
"asdf-system": "project-docs",
|
|
"error-on-warnings": true
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"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"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
} |