92 lines
2.6 KiB
YAML
92 lines
2.6 KiB
YAML
|
name: CI
|
||
|
|
||
|
on: push
|
||
|
|
||
|
jobs:
|
||
|
linux:
|
||
|
name: Linux
|
||
|
runs-on: ubuntu-20.04
|
||
|
|
||
|
env:
|
||
|
TARGET: '${{ matrix.config.target }}'
|
||
|
LUA_VERSIONS: '5.4.2 5.3.6 5.2.4 5.1.5'
|
||
|
CC: '${{ matrix.config.cc }}'
|
||
|
BUILDTYPE: '${{ matrix.config.buildtype }}'
|
||
|
|
||
|
strategy:
|
||
|
matrix:
|
||
|
config:
|
||
|
# x86_64: test gcc, clang, + release mode to catch assert bugs
|
||
|
- { target: x86_64-linux-gnu, cc: gcc, buildtype: debugoptimized }
|
||
|
- { target: x86_64-linux-gnu, cc: gcc, buildtype: release }
|
||
|
- { target: x86_64-linux-gnu, cc: clang, buildtype: debugoptimized }
|
||
|
# 32-bit x86
|
||
|
- { target: i686-linux-gnu, cc: gcc, buildtype: debugoptimized }
|
||
|
# all powerpc
|
||
|
- { target: powerpc64le-linux-gnu, cc: gcc, buildtype: debugoptimized }
|
||
|
- { target: powerpc64-linux-gnu, cc: gcc, buildtype: debugoptimized }
|
||
|
- { target: powerpc-linux-gnu, cc: gcc, buildtype: debugoptimized }
|
||
|
# aarch64 and arm
|
||
|
- { target: aarch64-linux-gnu, cc: gcc, buildtype: debugoptimized }
|
||
|
- { target: arm-linux-gnueabi, cc: gcc, buildtype: debugoptimized }
|
||
|
# riscv64 and s390x
|
||
|
- { target: riscv64-linux-gnu, cc: gcc, buildtype: debugoptimized }
|
||
|
- { target: s390x-linux-gnu, cc: gcc, buildtype: debugoptimized }
|
||
|
# mips, m68k
|
||
|
- { target: mips-linux-gnu, cc: gcc, buildtype: debugoptimized }
|
||
|
- { target: m68k-linux-gnu, cc: gcc, buildtype: debug }
|
||
|
# x86_64 windows cross, release mode
|
||
|
- { target: x86_64-w64-mingw32, cc: gcc, buildtype: release }
|
||
|
|
||
|
steps:
|
||
|
- name: Checkout
|
||
|
uses: actions/checkout@v2
|
||
|
with:
|
||
|
persist-credentials: false
|
||
|
|
||
|
- name: Prepare environment
|
||
|
run: sh ./.ci/install-env
|
||
|
|
||
|
- name: Build and test cubescript
|
||
|
run: sh ./.ci/build-cs
|
||
|
|
||
|
windows:
|
||
|
name: Windows
|
||
|
runs-on: windows-2019
|
||
|
|
||
|
env:
|
||
|
LUA_VERSIONS: '5.4.2 5.3.6 5.2.4 5.1.5'
|
||
|
|
||
|
steps:
|
||
|
- name: Checkout
|
||
|
uses: actions/checkout@v2
|
||
|
with:
|
||
|
persist-credentials: false
|
||
|
|
||
|
- name: Prepare environment
|
||
|
run: bash ./.ci/install-env-windows
|
||
|
|
||
|
- name: Build and test cubescript
|
||
|
run: bash ./.ci/build-cs-windows
|
||
|
|
||
|
mac:
|
||
|
name: MacOS
|
||
|
runs-on: macos-10.15
|
||
|
|
||
|
env:
|
||
|
TARGET: 'darwin'
|
||
|
LUA_VERSIONS: '5.4.2 5.3.6 5.2.4 5.1.5'
|
||
|
CC: 'clang'
|
||
|
|
||
|
steps:
|
||
|
- name: Checkout
|
||
|
uses: actions/checkout@v2
|
||
|
with:
|
||
|
persist-credentials: false
|
||
|
|
||
|
- name: Prepare environment
|
||
|
run: sh ./.ci/install-env
|
||
|
|
||
|
- name: Build and test cubescript
|
||
|
run: sh ./.ci/build-cs
|