2021-04-12 01:36:36 +00:00
|
|
|
name: CI
|
|
|
|
|
|
|
|
on: push
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
linux:
|
|
|
|
name: Linux
|
|
|
|
runs-on: ubuntu-20.04
|
|
|
|
|
|
|
|
env:
|
|
|
|
TARGET: '${{ matrix.config.target }}'
|
|
|
|
CC: '${{ matrix.config.cc }}'
|
|
|
|
BUILDTYPE: '${{ matrix.config.buildtype }}'
|
|
|
|
|
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
config:
|
|
|
|
# x86_64: test gcc, clang, + release mode to catch assert bugs
|
2021-04-12 01:44:34 +00:00
|
|
|
- { target: x86_64-linux-gnu, cc: gcc-10, buildtype: debugoptimized }
|
|
|
|
- { target: x86_64-linux-gnu, cc: gcc-10, buildtype: release }
|
2021-04-12 01:36:36 +00:00
|
|
|
- { target: x86_64-linux-gnu, cc: clang, buildtype: debugoptimized }
|
|
|
|
# 32-bit x86
|
2021-04-12 01:44:34 +00:00
|
|
|
- { target: i686-linux-gnu, cc: gcc-10, buildtype: debugoptimized }
|
2021-04-12 01:36:36 +00:00
|
|
|
# all powerpc
|
2021-04-12 01:44:34 +00:00
|
|
|
- { target: powerpc64le-linux-gnu, cc: gcc-10, buildtype: debugoptimized }
|
|
|
|
- { target: powerpc64-linux-gnu, cc: gcc-10, buildtype: debugoptimized }
|
|
|
|
- { target: powerpc-linux-gnu, cc: gcc-10, buildtype: debugoptimized }
|
2021-04-12 01:36:36 +00:00
|
|
|
# aarch64 and arm
|
2021-04-12 01:44:34 +00:00
|
|
|
- { target: aarch64-linux-gnu, cc: gcc-10, buildtype: debugoptimized }
|
|
|
|
- { target: arm-linux-gnueabi, cc: gcc-10, buildtype: debugoptimized }
|
2021-04-12 01:36:36 +00:00
|
|
|
# riscv64 and s390x
|
2021-04-12 01:44:34 +00:00
|
|
|
- { target: riscv64-linux-gnu, cc: gcc-10, buildtype: debugoptimized }
|
|
|
|
- { target: s390x-linux-gnu, cc: gcc-10, buildtype: debugoptimized }
|
2021-04-12 01:36:36 +00:00
|
|
|
# mips, m68k
|
2021-04-12 01:44:34 +00:00
|
|
|
- { target: mips-linux-gnu, cc: gcc-10, buildtype: debugoptimized }
|
|
|
|
- { target: m68k-linux-gnu, cc: gcc-10, buildtype: debug }
|
2021-04-12 01:36:36 +00:00
|
|
|
# x86_64 windows cross, release mode
|
2021-04-15 18:49:36 +00:00
|
|
|
- { target: x86_64-w64-mingw32, cc: gcc, buildtype: release }
|
2021-04-12 01:36:36 +00:00
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: Checkout
|
|
|
|
uses: actions/checkout@v2
|
|
|
|
with:
|
|
|
|
persist-credentials: false
|
|
|
|
|
|
|
|
- name: Prepare environment
|
2021-04-15 18:53:35 +00:00
|
|
|
run: bash ./.ci/install-env
|
2021-04-12 01:36:36 +00:00
|
|
|
|
|
|
|
- name: Build and test cubescript
|
2021-04-15 18:53:35 +00:00
|
|
|
run: bash ./.ci/build-cs
|
2021-04-12 01:36:36 +00:00
|
|
|
|
|
|
|
windows:
|
|
|
|
name: Windows
|
|
|
|
runs-on: windows-2019
|
|
|
|
|
|
|
|
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
|
|
|
|
|
2021-04-12 18:02:05 +00:00
|
|
|
mac:
|
|
|
|
name: MacOS
|
|
|
|
runs-on: macos-10.15
|
2021-04-12 01:36:36 +00:00
|
|
|
|
2021-04-12 18:02:05 +00:00
|
|
|
env:
|
|
|
|
TARGET: 'darwin'
|
|
|
|
CC: 'clang'
|
2021-04-12 01:36:36 +00:00
|
|
|
|
2021-04-12 18:02:05 +00:00
|
|
|
steps:
|
|
|
|
- name: Checkout
|
|
|
|
uses: actions/checkout@v2
|
|
|
|
with:
|
|
|
|
persist-credentials: false
|
2021-04-12 01:36:36 +00:00
|
|
|
|
2021-04-12 18:02:05 +00:00
|
|
|
- name: Prepare environment
|
2021-04-15 18:53:35 +00:00
|
|
|
run: bash ./.ci/install-env
|
2021-04-12 01:36:36 +00:00
|
|
|
|
2021-04-12 18:02:05 +00:00
|
|
|
- name: Build and test cubescript
|
2021-04-15 18:53:35 +00:00
|
|
|
run: bash ./.ci/build-cs
|