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 } - { target: x86_64-linux-gnu, cc: clang, buildtype: debugoptimized } # 32-bit x86 - { target: i686-linux-gnu, cc: gcc-10, buildtype: debugoptimized } # 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 } # aarch64 and arm - { target: aarch64-linux-gnu, cc: gcc-10, buildtype: debugoptimized } - { target: arm-linux-gnueabi, cc: gcc-10, buildtype: debugoptimized } # riscv64 and s390x - { target: riscv64-linux-gnu, cc: gcc-10, buildtype: debugoptimized } - { target: s390x-linux-gnu, cc: gcc-10, buildtype: debugoptimized } # mips, m68k - { target: mips-linux-gnu, cc: gcc-10, buildtype: debugoptimized } - { target: m68k-linux-gnu, cc: gcc-10, 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: bash ./.ci/install-env - name: Build and test cubescript run: bash ./.ci/build-cs 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 mac: name: MacOS runs-on: macos-10.15 env: TARGET: 'darwin' CC: 'clang' steps: - name: Checkout uses: actions/checkout@v2 with: persist-credentials: false - name: Prepare environment run: bash ./.ci/install-env - name: Build and test cubescript run: bash ./.ci/build-cs