Skip to content

CI

CI #289

Workflow file for this run

{
"name": "CI",
"on": {
"push": {
"branches": [
"master"
]
},
"pull_request": null,
"schedule": [
{
"cron": "0 10 * * 1"
}
]
},
"jobs": {
"linter": {
"runs-on": "ubuntu-latest",
"env": {
"OS": "ubuntu-latest",
"QUICKLISP_DIST": "quicklisp",
"LISP": "sbcl-bin"
},
"steps": [
{
"name": "Checkout Code",
"uses": "actions/checkout@v4"
},
{
"name": "Setup Common Lisp Environment",
"uses": "40ants/setup-lisp@v4",
"with": {
"asdf-system": "40ants-ci",
"cache": "true"
}
},
{
"name": "Change dist to Ultralisp if qlfile does not exist",
"run": "if [[ ! -e qlfile ]]; then echo 'dist ultralisp http://dist.ultralisp.org' > qlfile; fi",
"shell": "bash"
},
{
"name": "Update Qlot",
"run": "qlot update --no-deps",
"shell": "bash"
},
{
"name": "Install SBLint wrapper",
"run": "qlot exec ros install 40ants-asdf-system 40ants-linter",
"shell": "bash"
},
{
"name": "Run Linter",
"run": "qlot exec 40ants-linter --system \"40ants-ci, 40ants-ci-tests\" --imports",
"shell": "bash"
}
]
},
"critic": {
"runs-on": "ubuntu-latest",
"env": {
"OS": "ubuntu-latest",
"QUICKLISP_DIST": "quicklisp",
"LISP": "sbcl-bin"
},
"steps": [
{
"name": "Checkout Code",
"uses": "actions/checkout@v4"
},
{
"name": "Setup Common Lisp Environment",
"uses": "40ants/setup-lisp@v4",
"with": {
"asdf-system": "40ants-ci",
"cache": "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 LISP-CRITIC wrapper",
"run": "qlot exec ros install 40ants-critic",
"shell": "bash"
},
{
"name": "Run Critic for \"40ants-ci\" system",
"run": "qlot exec lisp-critic --ignore function-too-long,check-prefix 40ants-ci",
"shell": "bash"
}
]
},
"run-tests": {
"strategy": {
"fail-fast": false,
"matrix": {
"os": [
"ubuntu-latest",
"macos-latest"
],
"quicklisp": [
"quicklisp",
"ultralisp"
],
"lisp": [
"sbcl-bin",
"ccl-bin"
]
}
},
"runs-on": "${{ matrix.os }}",
"env": {
"OS": "${{ matrix.os }}",
"QUICKLISP_DIST": "${{ matrix.quicklisp }}",
"LISP": "${{ matrix.lisp }}"
},
"steps": [
{
"name": "Checkout Code",
"uses": "actions/checkout@v4"
},
{
"name": "Setup Common Lisp Environment",
"uses": "40ants/setup-lisp@v4",
"with": {
"asdf-system": "40ants-ci",
"qlfile-template": "{% ifequal quicklisp_dist \"ultralisp\" %}\ndist ultralisp http://dist.ultralisp.org\n{% endifequal %}",
"cache": "true"
}
},
{
"name": "Run Tests",
"uses": "40ants/run-tests@v2",
"with": {
"asdf-system": "40ants-ci",
"coveralls-token": "\n${{ matrix.lisp == 'sbcl-bin' &&\n matrix.os == 'ubuntu-latest' &&\n matrix.quicklisp == 'ultralisp' &&\n secrets.github_token }}"
}
}
]
},
"custom-steps": {
"runs-on": "ubuntu-latest",
"env": {
"OS": "ubuntu-latest",
"QUICKLISP_DIST": "quicklisp",
"LISP": "ccl-bin"
},
"steps": [
{
"name": "Checkout Code",
"uses": "actions/checkout@v4"
},
{
"name": "Setup Common Lisp Environment",
"uses": "40ants/setup-lisp@v4",
"with": {
"asdf-system": "40ants-ci",
"cache": "true"
}
},
{
"name": "Show Roswell Config",
"run": "ros config",
"shell": "bash"
},
{
"name": "Custom ENV",
"run": "echo $CUSTOM_ENV",
"shell": "bash",
"env": {
"CUSTOM_ENV": "Hello world!"
}
}
]
}
}
}