From 828461c193c9dcee1221a367b340084e4ee643ad Mon Sep 17 00:00:00 2001 From: x2048 Date: Sat, 30 Apr 2022 15:54:07 +0200 Subject: Run automated tests when lua files change (#12184) * Run automated tests when lua files change * skip busted on devtest * use newer build env * Add .luacheckrc for games/devetest Co-authored-by: sfan5 --- .github/workflows/lua.yml | 60 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 .github/workflows/lua.yml (limited to '.github/workflows/lua.yml') diff --git a/.github/workflows/lua.yml b/.github/workflows/lua.yml new file mode 100644 index 000000000..0fa30bb15 --- /dev/null +++ b/.github/workflows/lua.yml @@ -0,0 +1,60 @@ +name: lua_lint + +# Lint on lua changes on builtin or if workflow changed +on: + push: + paths: + - 'builtin/**.lua' + - 'games/devtest/**.lua' + - '.github/workflows/**.yml' + pull_request: + paths: + - 'builtin/**.lua' + - 'games/devtest/**.lua' + - '.github/workflows/**.yml' + +jobs: + # Note that the integration tests are also run build.yml, but only when C++ code is changed. + integration_tests: + name: "Compile and run multiplayer tests" + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v2 + - name: Install deps + run: | + source ./util/ci/common.sh + install_linux_deps clang-10 gdb + + - name: Build + run: | + ./util/ci/build.sh + env: + CC: clang-10 + CXX: clang++-10 + + - name: Integration test + devtest + run: | + ./util/test_multiplayer.sh + + luacheck: + name: "Builtin Luacheck and Unit Tests" + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v2 + - name: Install luarocks + run: | + sudo apt-get install luarocks -qyy + + - name: Install luarocks tools + run: | + luarocks install --local luacheck + luarocks install --local busted + + - name: Run checks (builtin) + run: | + $HOME/.luarocks/bin/luacheck builtin + $HOME/.luarocks/bin/busted builtin + + - name: Run checks (devtest) + run: | + $HOME/.luarocks/bin/luacheck --config=games/devtest/.luacheckrc games/devtest -- cgit v1.2.3