40 lines
1.2 KiB
YAML
Executable File
40 lines
1.2 KiB
YAML
Executable File
name: Skyweave Test & Lint Ritual
|
|
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
pull_request:
|
|
branches: [ master ]
|
|
|
|
jobs:
|
|
test-and-lint:
|
|
name: Test and Lint Code
|
|
runs-on: ubuntu-latest # This key was missing from your linting job
|
|
|
|
# We use a single, public image that has Node.js for the checkout action
|
|
container:
|
|
image: node:lts-alpine
|
|
|
|
steps:
|
|
- name: 1. Checkout Repository Code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: 2. Install Lua Dependencies
|
|
run: |
|
|
echo "Sanctifying container with Lua tools..."
|
|
# Installs luacheck for linting, and Lua + Luarocks for Busted
|
|
apk add --no-cache luacheck lua5.1-dev build-base git luarocks
|
|
luarocks-5.1 install busted
|
|
cp lib/json.lua skyweave/
|
|
|
|
- name: 3. Run Luacheck Scrutiny
|
|
run: |
|
|
echo "Scanning Lua scripture..."
|
|
# With your perfected .luacheckrc, this single command handles all files
|
|
luacheck --std lua51 .
|
|
|
|
- name: 4. Perform Unit Inquisition (Busted)
|
|
run: |
|
|
echo "Initiating unit tests..."
|
|
# Busted will automatically find and run files in the 'spec/' directory
|
|
busted --lua=lua5.1 --verbose spec/ |