Skip to content

update CI

update CI #63

Workflow file for this run

name: dub test
on:
# schedule:
# - cron: '30 7 1 * *'
push:
branches:
- master
pull_request:
branches:
- master
jobs:
test:
name: ${{ matrix.compiler }} on ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest ] # don't bother with windows-latest or macOS-latest
compiler:
- dmd-latest
- ldc-latest
- dmd-2.105.3 # (released in 2023)
- dmd-2.104.2 # (released in 2023)
- dmd-2.103.1 # (released in 2023)
- dmd-2.102.2 # (released in 2023)
# - dmd-2.101.2 # (released in 2023) ## excluded due to a compiler bug
- dmd-2.100.2 # (released in 2022) ## GDC 12 can support 2.100
- dmd-2.099.1 # (released in 2022)
# - dmd-2.098.1 # (released in 2021) ## Has issue re: phobos/std/variant.d
- dmd-2.097.2 # (released in 2021) ## HibernateD & DDBC require >=2.097
- ldc-1.35.0 # eq to dmd v2.105.2
- ldc-1.34.0 # eq to dmd v2.104.2
- ldc-1.33.0 # eq to dmd v2.103.1
- ldc-1.28.1 # eq to dmd v2.098.1
- ldc-1.27.1 # eq to dmd v2.097.2
include:
- { os: windows-latest, compiler: dmd-latest } # Windows Server 2022
- { os: windows-latest, compiler: ldc-latest } # Windows Server 2022
- { os: macos-latest, compiler: dmd-latest } # macOS 12
- { os: macos-latest, compiler: ldc-latest } # macOS 12
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Install D ${{ matrix.compiler }}
uses: dlang-community/setup-dlang@v1
with:
compiler: ${{ matrix.compiler }}
- name: Install dependencies on Ubuntu
if: startsWith(matrix.os, 'ubuntu')
run: sudo apt-get update && sudo apt-get install libev-dev libevent-dev libsqlite3-dev -y
# - name: Install dependencies on Mac OSX
# if: startsWith(matrix.os, 'mac')
# run: brew bundle
- name: build and run the unittest config
run: dub test
# ## On Ubuntu we can use GDC. The compatibility of gdc is:
# ## gcc gdc-10 -> D 2.076 (the default on Ubuntu 20.04 (ubuntu-latest), also available on 22.04)
# ## gcc gdc-11 -> D 2.076 (requires Ubuntu 22.04)
# ## gcc gdc-12 -> D 2.100 (requires Ubuntu 22.04)
# ## gcc gdc-13 -> D 2.??? (requires Ubuntu 23.04 - no runners yet)
# ## Until DDBC can support gdc this cannot be used. See https://github.com/buggins/ddbc/issues/122
# gdc:
# name: ${{ matrix.compiler }} on ${{ matrix.os }}
# strategy:
# fail-fast: false
# matrix:
# os: [ ubuntu-22.04 ]
# compiler: [ gdc-12 ]
# runs-on: ${{ matrix.os }}
# steps:
# - uses: actions/checkout@v4
# - name: Install DMD (so dub is available)
# uses: dlang-community/setup-dlang@v1
# with:
# compiler: dmd-latest
# - name: Install ${{ matrix.compiler }}
# run: |
# sudo apt update
# sudo apt install ${{ matrix.compiler }} -y
# - name: Install system dependencies
# run: sudo apt install libev-dev libevent-dev libsqlite3-dev -y
# - name: Show version
# run: |
# ${{ matrix.compiler }} --version
# dub --version
# - name: Dub Build (Release)
# env:
# DC: ${{ matrix.compiler }}
# run: dub build --compiler=${{ matrix.compiler }} --build=release