Files
skyweave/.gitea/workflows/ci.yaml
T
2025-06-12 20:47:55 -04:00

39 lines
1.2 KiB
YAML
Executable File

name: Skyweave Test & Lint Ritual
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
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 install busted
- 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/