Next release snap #401
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: CI | |
on: | |
push: | |
branches: [ release ] | |
pull_request: | |
branches: [ dev, release ] | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
lua_ver: [51, 53] | |
numbers: ['float'] | |
include: | |
- lua_ver: 51 | |
numbers: 'integral' | |
- lua_ver: 53 | |
numbers: '64bit' | |
runs-on: ubuntu-20.04 | |
env: | |
LUA: ${{ matrix.lua_ver }} | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: true | |
- run: pip install pyserial | |
shell: bash | |
- run: sudo apt install srecord | |
shell: bash | |
- name: Build firmware | |
if: matrix.numbers == 'float' | |
run: make | |
shell: bash | |
- name: Build integral firmware | |
if: ${{ matrix.numbers == 'integral' }} | |
run: | | |
make EXTRA_CCFLAGS="-DLUA_NUMBER_INTEGRAL" | |
mv luac.cross.int luac.cross | |
shell: bash | |
- name: Build 64bit firmware | |
if: ${{ matrix.numbers == '64bit' }} | |
run: | | |
make EXTRA_CCFLAGS="-DLUA_NUMBER_64BITS" | |
shell: bash | |
- name: Upload luac.cross | |
if: ${{ success() }} | |
uses: actions/upload-artifact@v2 | |
with: | |
name: luac.cross_${{ matrix.lua_ver }}_${{ matrix.numbers }} | |
path: luac.cross | |
build_luac_cross_win: | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: true | |
- name: Build luac.cross.exe | |
run: | | |
set | |
"%programfiles%\git\usr\bin\xargs" | |
cd msvc | |
"%programfiles(x86)%\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\msbuild.exe" /p:Configuration=Release /p:Platform=x64 | |
mv luac-cross/x64/Release/luac.cross.exe .. | |
shell: cmd | |
- name: Upload luac.cross | |
if: ${{ success() }} | |
uses: actions/upload-artifact@v2 | |
with: | |
name: luac.cross_51_float_win | |
path: luac.cross.exe | |
compile_lua: | |
strategy: | |
fail-fast: false | |
matrix: | |
lua_ver: [51, 53] | |
numbers: ['float'] | |
filter: [ 'cat' ] | |
include: | |
- lua_ver: 51 | |
numbers: 'integral' | |
filter: 'grep -v "lua_modules/lm92/lm92.lua\|lua_modules/hdc1000/HDC1000.lua\|lua_examples/u8g2/graphics_test.lua"' | |
- lua_ver: 53 | |
numbers: '64bit' | |
filter: 'cat' | |
needs: build | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v2 | |
with: | |
submodules: false | |
- name: Download luac.cross | |
uses: actions/download-artifact@v1 | |
with: | |
name: luac.cross_${{ matrix.lua_ver }}_${{ matrix.numbers }} | |
path: ./ | |
- name: Fix file permission | |
run: chmod +x luac.cross | |
- name: compile Lua | |
run: | | |
find lua_modules lua_examples tests/NTest* -iname "*.lua" | ${{ matrix.filter }} | xargs --delimiter="\n" echo | |
find lua_modules lua_examples tests/NTest* -iname "*.lua" | ${{ matrix.filter }} | xargs --delimiter="\n" ./luac.cross -p | |
shell: bash | |
compile_lua_win: | |
strategy: | |
fail-fast: false | |
matrix: | |
lua_ver: [51] | |
numbers: ['float'] | |
filter: [ 'cat' ] | |
needs: build_luac_cross_win | |
runs-on: windows-latest | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v2 | |
with: | |
submodules: false | |
- name: Download luac.cross | |
uses: actions/download-artifact@v1 | |
with: | |
name: luac.cross_${{ matrix.lua_ver }}_${{ matrix.numbers }}_win | |
path: ./ | |
- name: compile Lua | |
run: | | |
PATH="/C/Program\ Files/Git/usr/bin:${PATH}" | |
find lua_modules lua_examples tests/NTest* -iname "*.lua" | ${{ matrix.filter }} | xargs --delimiter="\n" echo | |
find lua_modules lua_examples tests/NTest* -iname "*.lua" | ${{ matrix.filter }} | xargs --delimiter="\n" ./luac.cross -p | |
shell: bash | |
NTest: | |
strategy: | |
fail-fast: false | |
matrix: | |
lua_ver: [51, 53] | |
numbers: ['float'] | |
include: | |
- lua_ver: 51 | |
numbers: 'integral' | |
- lua_ver: 53 | |
numbers: '64bit' | |
needs: build | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v2 | |
with: | |
submodules: false | |
- name: Download luac.cross | |
uses: actions/download-artifact@v1 | |
with: | |
name: luac.cross_${{ matrix.lua_ver }}_${{ matrix.numbers }} | |
path: ./ | |
- name: Fix file permission | |
run: chmod +x luac.cross | |
- name: NTest selfcheck | |
run: | | |
cd tests/NTest | |
../../luac.cross -e ../NTest/NTest_NTest.lua | tee log | |
grep "failed. 0" log | |
shell: bash | |
- name: NTest hosttests | |
run: | | |
cd tests | |
cp NTest/NTest.lua . | |
../luac.cross -e NTest_lua.lua | tee log | |
(if grep " ==> " log ; then exit 1 ; fi) | |
shell: bash | |
NTest_win: | |
strategy: | |
fail-fast: false | |
matrix: | |
lua_ver: [51] | |
numbers: ['float'] | |
needs: build_luac_cross_win | |
runs-on: windows-latest | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v2 | |
with: | |
submodules: false | |
- name: Download luac.cross | |
uses: actions/download-artifact@v1 | |
with: | |
name: luac.cross_${{ matrix.lua_ver }}_${{ matrix.numbers }}_win | |
path: ./ | |
- name: NTest selfcheck | |
run: | | |
cd tests/NTest | |
../../luac.cross.exe -e ../NTest/NTest_NTest.lua | tee log | |
grep "failed. 0" log | |
shell: bash | |
- name: NTest hosttests | |
run: | | |
cd tests | |
cp NTest/NTest.lua . | |
../luac.cross.exe -e NTest_lua.lua | tee log | |
(if grep " ==> " log ; then exit 1 ; fi) | |
shell: bash | |
luacheck: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- os: 'linux' | |
vm: 'ubuntu-20.04' | |
- os: 'windows' | |
vm: 'windows-latest' | |
runs-on: ${{ matrix.vm }} | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: false | |
- run: sudo apt install luarocks | |
if : matrix.os == 'linux' | |
shell: bash | |
- name: get luacheck.exe # is also done in the travis script but in this action it does not run in bash | |
if : matrix.os == 'windows' | |
run: | | |
mkdir cache | |
C:msys64\usr\bin\wget.exe --tries=5 --timeout=10 --waitretry=10 --read-timeout=10 --retry-connrefused -O cache/luacheck.exe https://github.com/mpeterv/luacheck/releases/download/0.23.0/luacheck.exe | |
shell: cmd | |
- name: luacheck | |
run: | | |
PATH="/C/Program\ Files/Git/usr/bin:${PATH}" | |
./tools/travis/run-luacheck-${{ matrix.os }}.sh | |
shell: bash | |
doc_check: | |
strategy: | |
fail-fast: false | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: false | |
- name: all_modules_linked | |
run: ./tools/check_docs_module_linkage.sh | |
shell: bash | |