eventcore/.github/workflows/ci.yml
2021-01-12 19:05:56 +01:00

56 lines
1.9 KiB
YAML

name: Test Suite
# Only triggers on pushes/PRs to master
on:
pull_request:
branches:
- master
push:
branches:
- master
jobs:
test:
name: CI
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macOS-latest]
dc: [dmd-latest, ldc-latest, dmd-2.079.0, ldc-1.9.0, ldc-1.17.0]
arch: [x86_64]
config: [select, epoll, cfrunloop, winapi]
exclude:
- {os: ubuntu-latest, config: cfrunloop}
- {os: ubuntu-latest, config: winapi}
- {os: macOS-latest, config: epoll}
- {os: macOS-latest, config: winapi}
- {os: windows-latest, config: cfrunloop}
- {os: windows-latest, config: epoll}
# macOS fails up to FE 2.086.x, so we test on a slightly newer
# version instead
# "dyld: lazy symbol binding failed: Symbol not found: _dyld_enumerate_tlv_storage"
- {os: macOS-latest, dc: dmd-2.079.0}
- {os: macOS-latest, dc: ldc-1.9.0}
- {os: windows-latest, dc: ldc-1.9.0, config: select}
- {os: windows-latest, dc: ldc-1.17.0}
- {os: ubuntu-latest, dc: ldc-1.17.0}
include:
- {os: windows-latest, dc: ldc-latest, arch: x86, config: winapi}
- {os: windows-latest, dc: dmd-latest, arch: x86_mscoff, config: winapi}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- name: Install D compiler
uses: dlang-community/setup-dlang@v1
with:
compiler: ${{ matrix.dc }}
- name: Run tests
env:
CONFIG: ${{matrix.config}}
ARCH: ${{matrix.arch}}
shell: bash
run: ./run-ci.sh