diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml new file mode 100644 index 0000000..02e2c2a --- /dev/null +++ b/.gitea/workflows/test.yml @@ -0,0 +1,25 @@ +# 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