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