Skip to content

Builds

Builds #176

Workflow file for this run

name: Builds
# Overall MySQL Native should work on the last 10 minor compiler releases (same as Vibe.d).
# For simplicity and speed of the CI, the latest versions of dmd and ldc must are tested on
# all platforms (Windows, Linux, and Mac) with older compilers only being tested on Windows/Linux.
# The integration testing (via examples) is done on Linux against Mysql 5.7
on:
schedule:
- cron: '30 7 1 * *'
push:
branches:
- master
pull_request:
types: [opened, synchronize, reopened, edited]
workflow_dispatch:
jobs:
build:
name: ${{ matrix.compiler }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, windows-latest, macos-latest ]
compiler:
- dmd-latest
- ldc-latest
- dmd-2.101.2
- dmd-2.098.1
- ldc-1.31.0 # eq to dmd v2.101.2
- ldc-1.28.1 # eq to dmd v2.098.1
steps:
- uses: actions/checkout@v3
- name: Install D ${{ matrix.compiler }}
uses: dlang-community/setup-dlang@v1
with:
compiler: ${{ matrix.compiler }}
- name: Upgrade dub dependencies
uses: WebFreak001/[email protected]
- name: Build Library
run: dub build --build=release --config=library
# cache
- uses: WebFreak001/[email protected]
if: startsWith(matrix.os, 'windows')
with: { store: true }
# Older compiler versions
build-older:
name: ${{ matrix.compiler }} on ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, windows-latest ] # don't bother with macos-latest
compiler:
- dmd-2.097.2
- dmd-2.095.1
- dmd-2.094.2
- dmd-2.093.1
- dmd-2.092.1
- dmd-2.091.1
- dmd-2.090.1
- dmd-2.089.1
- dmd-2.088.1
- dmd-2.087.1
- dmd-2.086.1
- dmd-2.085.1
# These compilers do not work with dub for downloading taggedalgebraic
#- dmd-2.084.1
#- dmd-2.083.1
#- dmd-2.082.1
#- dmd-2.081.2
#- dmd-2.080.1
- ldc-1.27.1 # eq to dmd v2.097.2
- ldc-1.26.0 # eq to dmd v2.096.1
- ldc-1.25.1 # eq to dmd v2.095.1
- ldc-1.24.0 # eq to dmd v2.094.1
- ldc-1.23.0 # eq to dmd v2.093.1
- ldc-1.22.0 # eq to dmd v2.092.1
- ldc-1.19.0 # eq to dmd v2.089.1
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: Install D ${{ matrix.compiler }}
uses: dlang-community/setup-dlang@v1
with:
compiler: ${{ matrix.compiler }}
- name: Upgrade dub dependencies
uses: WebFreak001/[email protected]
- name: Build Library
run: dub build --build=release --config=library
# cache
- uses: WebFreak001/[email protected]
with: { store: true }