name: Busted on: [push, pull_request] jobs: busted: strategy: fail-fast: false matrix: lua_version: [ "luajit-openresty", "luajit-2.1.0-beta3", "luajit-git", "5.4.6", "5.1.5", "5.3.6", ] os: ["ubuntu-latest", "windows-latest", "macos-latest"] runs-on: ${{ matrix.os }} steps: - name: Checkout uses: actions/checkout@v4 - uses: ilammy/msvc-dev-cmd@v1 if: ${{ !startsWith(matrix.lua_version, 'luajit-') }} - name: Setup ‘lua’ uses: jkl1337/gh-actions-lua@master with: luaVersion: ${{ matrix.lua_version }} - name: Setup ‘luarocks’ uses: jkl1337/gh-actions-luarocks@master - name: Setup dependencies run: | luarocks install busted luarocks install luacov-coveralls - name: Build C library run: | ${{ matrix.os == 'ubuntu-latest' && 'FSANITIZE=1' || '' }} luarocks make --no-install - name: Run busted tests run: | ${{ matrix.os == 'ubuntu-latest' && 'LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libasan.so.6:/usr/lib/x86_64-linux-gnu/libstdc++.so.6:/usr/lib/x86_64-linux-gnu/libubsan.so.1' || '' }} busted -c -v - name: Report test coverage if: success() && !startsWith(matrix.os, 'windows-') && startsWith(matrix.lua_version, 'luajit-') continue-on-error: true run: luacov-coveralls -e .luarocks -e spec env: COVERALLS_REPO_TOKEN: ${{ github.token }} finish: if: always() needs: busted runs-on: ubuntu-latest steps: - name: Close coveralls build uses: coverallsapp/github-action@v2 with: parallel-finished: true