47 lines
1.3 KiB
YAML
47 lines
1.3 KiB
YAML
# Install and run unit tests with busted
|
|
# Docs: http://olivinelabs.com/busted/
|
|
|
|
name: Nginx Lua Unit Tests
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
paths:
|
|
- docker/nginx/libs/**
|
|
pull_request:
|
|
paths:
|
|
- docker/nginx/libs/**
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
container: openresty/openresty:1.19.9.1-focal
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Install Dependencies
|
|
run: |
|
|
luarocks install lua-resty-http
|
|
luarocks install hasher
|
|
luarocks install busted
|
|
luarocks install luacov
|
|
luarocks install luacheck
|
|
|
|
- name: Lint Code With Luacheck
|
|
run: luacheck docker/nginx/libs --std ngx_lua+busted
|
|
|
|
- name: Run Tests With Busted
|
|
# ran from root repo directory; produces luacov.stats.out file
|
|
run: docker/nginx/testing/rbusted --lpath='docker/nginx/libs/?.lua;docker/nginx/libs/?/?.lua' --verbose --coverage --pattern=spec docker/nginx/libs
|
|
|
|
- name: Generate Code Coverage Report With Luacov
|
|
# requires config file in cwd; produces luacov.report.out file
|
|
run: cp docker/nginx/testing/.luacov . && luacov && rm .luacov
|
|
|
|
- uses: codecov/codecov-action@v3
|
|
with:
|
|
root_dir: ${GITHUB_WORKSPACE}
|
|
files: ./luacov.report.out
|
|
flags: nginx-lua
|