Skip to content

Merge pull request #721 from Kong/rerun-failed #147

Merge pull request #721 from Kong/rerun-failed

Merge pull request #721 from Kong/rerun-failed #147

Workflow file for this run

# ATTENTION
#
# This is *not* a typical busted workflow! Do not copy this to other projects!
# Instead of installing busted from somewhere and using it on a code base,
# we're actually building and running the current HEAD version on ourselves:
# basically this is a combination bootstrap test and dogfooding. The upshot is
# that we check both that everything works (and end-to-end test) and that the
# current codebase checks against itself. This ensures we can fix a bug or make
# a breaking change in busted without being blocked by our own CI using a
# different busted version.
#
# See the README.md file for examples suitable for use in other projects.
name: Busted
on: [ push, pull_request ]
jobs:
busted:
strategy:
fail-fast: false
matrix:
luaVersion: [ "5.4", "5.3", "5.2", "5.1", "luajit" ] #, "luajit-openresty" ]
penlightVersion: [ "1.13.1", "1.9.2", "1.8.0", "1.6.0", "1.3.2" ]
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup ‘lua’
uses: leafo/gh-actions-lua@v9
with:
luaVersion: ${{ matrix.luaVersion }}
- name: Setup ‘luarocks’
uses: leafo/gh-actions-luarocks@v4
- name: Setup dependencies
run: |
luarocks install penlight ${{ matrix.penlightVersion }}
luarocks install moonscript
luarocks install luacov
luarocks install --deps-only busted-scm-1.rockspec
- name: Build ‘busted’ (bootstrap)
run: |
luarocks make
- name: Run ‘busted’ (dogfood)
# disable project-local path prefixes to force use of system installation
run: busted --coverage --lpath="" --cpath="" --output=gtest -Xoutput --color
- name: Report test coverage
if: ${{ success() && github.repository == 'lunarmodules/busted' }}
continue-on-error: true
run: luacov-coveralls -i src -e .luarocks
env:
COVERALLS_REPO_TOKEN: ${{ github.token }}