libcubescript/.github/workflows/build.yaml

87 lines
2.5 KiB
YAML
Raw Permalink Normal View History

2021-04-12 03:36:36 +02: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
- { target: x86_64-linux-gnu, cc: gcc-10, buildtype: debugoptimized }
- { target: x86_64-linux-gnu, cc: gcc-10, buildtype: release }
2021-04-12 03:36:36 +02:00
- { target: x86_64-linux-gnu, cc: clang, buildtype: debugoptimized }
# 32-bit x86
- { target: i686-linux-gnu, cc: gcc-10, buildtype: debugoptimized }
2021-04-12 03:36:36 +02:00
# all powerpc
- { 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 03:36:36 +02:00
# aarch64 and arm
- { target: aarch64-linux-gnu, cc: gcc-10, buildtype: debugoptimized }
- { target: arm-linux-gnueabi, cc: gcc-10, buildtype: debugoptimized }
2021-04-12 03:36:36 +02:00
# riscv64 and s390x
- { target: riscv64-linux-gnu, cc: gcc-10, buildtype: debugoptimized }
- { target: s390x-linux-gnu, cc: gcc-10, buildtype: debugoptimized }
2021-04-12 03:36:36 +02:00
# mips, m68k
- { target: mips-linux-gnu, cc: gcc-10, buildtype: debugoptimized }
- { target: m68k-linux-gnu, cc: gcc-10, buildtype: debug }
2021-04-12 03:36:36 +02:00
# x86_64 windows cross, release mode
2021-04-15 20:49:36 +02:00
- { target: x86_64-w64-mingw32, cc: gcc, buildtype: release }
2021-04-12 03:36:36 +02:00
steps:
- name: Checkout
uses: actions/checkout@v2
with:
persist-credentials: false
- name: Prepare environment
2021-04-15 20:53:35 +02:00
run: bash ./.ci/install-env
2021-04-12 03:36:36 +02:00
- name: Build and test cubescript
2021-04-15 20:53:35 +02:00
run: bash ./.ci/build-cs
2021-04-12 03:36:36 +02: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 20:02:05 +02:00
mac:
name: MacOS
runs-on: macos-10.15
2021-04-12 03:36:36 +02:00
2021-04-12 20:02:05 +02:00
env:
TARGET: 'darwin'
CC: 'clang'
2021-04-12 03:36:36 +02:00
2021-04-12 20:02:05 +02:00
steps:
- name: Checkout
uses: actions/checkout@v2
with:
persist-credentials: false
2021-04-12 03:36:36 +02:00
2021-04-12 20:02:05 +02:00
- name: Prepare environment
2021-04-15 20:53:35 +02:00
run: bash ./.ci/install-env
2021-04-12 03:36:36 +02:00
2021-04-12 20:02:05 +02:00
- name: Build and test cubescript
2021-04-15 20:53:35 +02:00
run: bash ./.ci/build-cs