ci: test out clang-tidy included in runner #68
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Check | |
on: | |
push: | |
branches: | |
- main | |
- 'renovate/**' | |
paths: | |
- .github/workflows/check.yml | |
- fenster-dev-1.rockspec | |
- 'src/**' | |
- 'spec/**' | |
pull_request: | |
branches: | |
- main | |
paths: | |
- .github/workflows/check.yml | |
- fenster-dev-1.rockspec | |
- 'src/**' | |
- 'spec/**' | |
workflow_dispatch: | |
workflow_call: | |
jobs: | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: Setup Lua | |
uses: leafo/gh-actions-lua@35bcb06abec04ec87df82e08caa84d545348536e # v10.0.0 | |
- name: Setup LuaRocks | |
uses: hishamhm/gh-actions-luarocks@master | |
- name: Run luacheck | |
run: luarocks install luacheck && luacheck . --no-cache --formatter TAP --exclude-files .lua .luarocks | |
test: | |
name: Test | |
needs: lint | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, windows-latest, macos-latest ] | |
lua_version: [ '5.1', '5.2', '5.3', '5.4', 'luajit' ] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: Setup Microsoft Visual C++ Developer Command Prompt | |
uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 | |
# Will be ignored on non-Windows platforms anyway, but it's better to just skip it | |
if: matrix.os == 'windows-latest' | |
- name: Setup Lua | |
uses: leafo/gh-actions-lua@35bcb06abec04ec87df82e08caa84d545348536e # v10.0.0 | |
with: | |
luaVersion: ${{ matrix.lua_version }} | |
- name: Setup LuaRocks | |
uses: hishamhm/gh-actions-luarocks@master | |
- name: Build fenster | |
run: luarocks make | |
# Currently does not work for LuaJIT on Windows (lua library not found) | |
if: matrix.os != 'windows-latest' || matrix.lua_version != 'luajit' | |
- name: Run tests | |
run: luarocks test -- --verbose --output TAP --exclude-tags needsdisplay | |
# Currently does not work for Windows (can't import 'fenster') | |
if: matrix.os != 'windows-latest' |