Merge pull request #558 from evo-lua/557-vfs-dofile-optimization #1029
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: Static Analysis | |
on: | |
pull_request: | |
paths-ignore: | |
- '**.md' | |
- 'changelog.lua' | |
- '.gitignore' | |
types: [opened, synchronize, reopened, ready_for_review] | |
push: | |
branches: | |
- main | |
paths-ignore: | |
- '**.md' | |
- 'changelog.lua' | |
- '.gitignore' | |
jobs: | |
luacheck: | |
name: Lint codebase | |
runs-on: ubuntu-latest | |
env: | |
CPPCHECK_VERSION: 2.10.3 | |
steps: | |
# LuaRocks needs the 5.1 headers to compile LuaCheck later, so we download them, too | |
- name: Install LuaJIT | |
run: sudo apt-get install luajit libluajit-5.1-dev | |
- name: Download LuaRocks | |
run: wget https://luarocks.org/releases/luarocks-3.9.1.tar.gz | |
- name: Unpack LuaRocks release | |
run: tar zxpf luarocks-3.9.1.tar.gz | |
- name: Install LuaRocks | |
run: cd luarocks-3.9.1 && ./configure && make && sudo make install | |
- name: Install LuaCheck | |
run: sudo luarocks install luacheck | |
# We don't want LuaCheck to analyze LuaRocks itself | |
# Ironically, it fails when doing that, but that's not useful here | |
- name: Change to temporary directory | |
run: mkdir temp && cd temp | |
- name: Check out Git repository | |
uses: actions/checkout@v4 | |
- name: Run luacheck | |
run: luacheck . | |
- name: Install selene | |
run: cargo install selene | |
- name: Run selene | |
run: selene . | |
# apt only has an ancient version, which behaves inconsistently | |
- name: Install cppcheck | |
run: | | |
git clone --depth 1 https://github.com/danmar/cppcheck.git | |
cd cppcheck | |
git fetch --tags | |
git checkout $CPPCHECK_VERSION | |
mkdir build | |
cd build | |
cmake .. | |
make -j$(nproc) | |
sudo make install | |
- name: Run cppcheck | |
run: deps/cppcheck.sh |