53 lines
1.6 KiB
YAML
Executable File
53 lines
1.6 KiB
YAML
Executable File
name: Skyweave CI Rituals
|
|
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
pull_request:
|
|
branches: [ master ]
|
|
|
|
jobs:
|
|
lint-lua-code:
|
|
name: Luacheck static analysis
|
|
runs-on: ubuntu-latest
|
|
|
|
container:
|
|
image: node:lts-alpine
|
|
|
|
steps:
|
|
- name: 1. Install Dependencies (luacheck)
|
|
run: |
|
|
echo "Sanctifying container with luacheck..."
|
|
apk add --no-cache luacheck
|
|
|
|
- name: 2. Checkout Repository Code
|
|
# This standard action checks out your repository's code into the container.
|
|
uses: actions/checkout@v4
|
|
|
|
- name: 3. Run Luacheck Scrutiny
|
|
run: |
|
|
echo "Scanning Lua scripture for syntactical heresy..."
|
|
luacheck --std lua51 .
|
|
|
|
unit-test-lua:
|
|
name: Rite of Unit Inquisition (Busted)
|
|
# This job will only start if the 'lint-lua-code' job is successful.
|
|
needs: lint-lua-code
|
|
runs-on: ubuntu-latest
|
|
# Use a container that has Lua and the 'luarocks' package manager.
|
|
container:
|
|
image: luajit/luajit:v2.1-alpine
|
|
steps:
|
|
- name: 1. Checkout Repository Code
|
|
uses: actions/checkout@v4
|
|
- name: 2. Install Busted Framework
|
|
run: |
|
|
echo "Sanctifying container with the Busted testing framework..."
|
|
# Luarocks is the package manager for Lua modules.
|
|
apk add --no-cache git
|
|
luarocks install busted
|
|
- name: 3. Perform Unit Inquisition
|
|
run: |
|
|
echo "Initiating unit inquisition..."
|
|
# Busted will automatically find and run files in the 'spec/' directory.
|
|
busted --lua=lua5.1 --verbose spec/ |