# Runs the same gate as local development: syntax check, the test suite, and # the audit. The suite runs under both Lua 5.4 (dev convenience) and LuaJIT -- # LuaJIT is what Balatro actually embeds, so it is the one that must pass. # The audit step also fails if AUDIT.md was not regenerated after a # synergies.lua change (the committed map must match the data). name: test on: [push, pull_request] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install Lua run: sudo apt-get update -q && sudo apt-get install -y -q lua5.4 luajit - name: Syntax check run: luac5.4 -p main.lua synergies.lua config.lua integrations.lua test.lua audit.lua - name: Test suite (Lua 5.4) run: lua5.4 test.lua - name: Test suite (LuaJIT, the interpreter Balatro embeds) run: luajit test.lua - name: Audit is clean and AUDIT.md is current run: | lua5.4 audit.lua --write git diff --exit-code AUDIT.md