chore(core): Correct project-local and --without-system-luarocks path… #1955
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: Test | |
on: [ push, pull_request ] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
test: | |
strategy: | |
fail-fast: false | |
matrix: | |
luaVersion: | |
- [ '5.4', 'MYCFLAGS=-fPIC' ] | |
- [ '5.3', 'MYCFLAGS=-fPIC' ] | |
- [ '5.2', 'MYCFLAGS=-fPIC' ] | |
- [ '5.1', 'CFLAGS="-O2 -Wall -DLUA_USE_LINUX -fPIC"' ] | |
- [ 'luajit', 'XCFLAGS=-fPIC' ] | |
# - [ 'luajit-openresty', 'XCFLAGS=-fPIC' ] | |
runs-on: ubuntu-22.04 | |
name: Test on Lua ${{ matrix.luaVersion[0] }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Cache test fonts | |
uses: actions/cache@v3 | |
with: | |
path: | | |
.fonts | |
.sources | |
key: fonts-${{ hashFiles('Makefile-fonts') }} | |
- name: Cache lua_modules | |
uses: actions/cache@v3 | |
with: | |
path: | | |
lua_modules | |
key: luarocks-${{ matrix.luaVersion[0] }}-${{ hashFiles('Makefile-luarocks', 'sile.rockspec.in') }} | |
- name: Cache Rust | |
uses: Swatinem/rust-cache@v2 | |
- name: Setup ‘lua’ | |
uses: leafo/gh-actions-lua@v10 | |
with: | |
luaVersion: ${{ matrix.luaVersion[0] }} | |
luaCompileFlags: ${{ matrix.luaVersion[1] }} | |
- name: Setup ‘cargo’ | |
uses: actions-rs/toolchain@v1 | |
- name: Setup ‘luarocks’ | |
uses: leafo/gh-actions-luarocks@v4 | |
- name: Prep system Lua for use | |
run: | | |
luarocks install busted | |
function deepest () { find $1 -type d | awk 'length>m{m=length;r=$0}END{print r}'; } | |
cat << EOF >> $GITHUB_ENV | |
LD_LIBRARY_PATH=$PWD/.lua/lib:$LD_LIBRARY_PATH | |
LIBRARY_PATH=$PWD/.lua/lib:$LIBRARY_PATH | |
LD_RUN_PATH=$PWD/.lua/lib:$LD_RUN_PATH | |
PKG_CONFIG_PATH=$PWD/.lua/lib/pkgconfig:$PKG_CONFIG_PATH | |
LUA_INCLUDE=-I$(deepest $PWD/.lua/include) | |
MAKEFLAGS=-j$(nproc) -Otarget | |
EOF | |
- name: Install system dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install fonts-sil-gentiumplus libarchive-tools libfontconfig1-dev libharfbuzz-dev libicu-dev libpng-dev poppler-utils | |
- name: Configure | |
run: | | |
./bootstrap.sh | |
./configure \ | |
--enable-developer LUACHECK=false NIX=false \ | |
--disable-font-variations \ | |
--without-system-luarocks \ | |
--with${{ startsWith(matrix.luaVersion[0], '5') && 'out' || '' }}-luajit \ | |
--without-manual | |
- name: Make | |
run: | | |
make | |
- name: Test Busted | |
timeout-minutes: ${{ runner.debug && 60 || 6 }} | |
run: | | |
make busted | |
- name: Test Regressions | |
timeout-minutes: ${{ runner.debug && 60 || 6 }} | |
run: | | |
make regressions | |
- name: Test Cargo | |
timeout-minutes: ${{ runner.debug && 60 || 6 }} | |
run: | | |
make cargo-test | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: test-${{ matrix.luaVersion[0] }}-actuals | |
path: tests/*.actual |