56 lines
1.9 KiB
YAML
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
|