2021-06-09 21:48:24 +02:00
|
|
|
name: CI
|
|
|
|
|
|
|
|
on:
|
|
|
|
schedule:
|
|
|
|
- cron: '45 6 1 * *'
|
|
|
|
push:
|
|
|
|
pull_request:
|
|
|
|
branches: [ main ]
|
|
|
|
|
|
|
|
jobs:
|
2021-06-09 22:08:53 +02:00
|
|
|
# Make sure the latest versions of dub and ldc work on all platforms
|
|
|
|
build-latest:
|
2021-06-09 21:48:24 +02:00
|
|
|
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
|
2021-06-09 22:08:53 +02:00
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
|
|
|
|
- name: Install D ${{ matrix.compiler }}
|
|
|
|
uses: dlang-community/setup-dlang@v1
|
|
|
|
with:
|
|
|
|
compiler: ${{ matrix.compiler }}
|
|
|
|
|
|
|
|
- name: Build library
|
|
|
|
run: dub build --build=release --config=library
|
|
|
|
|
|
|
|
- name: Build unittest
|
|
|
|
run: dub test --build=unittest --config=unittest
|
|
|
|
|
|
|
|
- name: Build examples
|
|
|
|
run: |
|
|
|
|
dub run --build=release --config=quickstartExample
|
|
|
|
dub run --build=release --config=qualifiersExample
|
|
|
|
dub run --build=release --config=arrayCompletionExample
|
|
|
|
dub run --build=release --config=annotationsExample
|
|
|
|
dub run --build=release --config=applicationContextExample
|
|
|
|
dub run --build=release --config=registerOnResolveExample
|
|
|
|
dub run --build=release --config=constructorInjectionExample
|
|
|
|
dub run --build=release --config=valueInjectionExample
|
2023-03-13 19:35:36 +01:00
|
|
|
dub run --build=release --config=postConPreDestExample
|
2021-06-09 22:08:53 +02:00
|
|
|
|
|
|
|
# Ensure poodinis can build on everything from 2.076 to latest. These builds are Ubuntu only for speed
|
|
|
|
build-older:
|
|
|
|
name: ${{ matrix.compiler }} on ${{ matrix.os }}
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
matrix:
|
|
|
|
os: [ ubuntu-latest ]
|
|
|
|
compiler:
|
|
|
|
- dmd-latest
|
|
|
|
- ldc-latest
|
2023-03-13 19:37:30 +01:00
|
|
|
- dmd-2.102.2
|
|
|
|
- dmd-2.101.2
|
|
|
|
- dmd-2.100.2
|
|
|
|
- dmd-2.099.1
|
|
|
|
- dmd-2.098.1
|
|
|
|
- dmd-2.097.2
|
2021-06-09 21:48:24 +02:00
|
|
|
- dmd-2.096.1
|
|
|
|
- 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
|
2023-03-13 19:51:17 +01:00
|
|
|
- dmd-2.088.1
|
|
|
|
- dmd-2.087.1
|
2023-03-13 19:57:22 +01:00
|
|
|
- dmd-2.086.1 # Baseline DMD version
|
2021-06-09 21:48:24 +02:00
|
|
|
- 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.21.0 # eq to dmd v2.091.1
|
|
|
|
# - ldc-1.20.1 # eq to dmd v2.090.1
|
|
|
|
# - ldc-1.19.0 # eq to dmd v2.089.1
|
|
|
|
# - ldc-1.18.0 # eq to dmd v2.088.1
|
|
|
|
# - ldc-1.17.0 # eq to dmd v2.087
|
|
|
|
# - ldc-1.16.0 # eq to dmd v2.086.1
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
|
|
|
|
- name: Install D ${{ matrix.compiler }}
|
|
|
|
uses: dlang-community/setup-dlang@v1
|
|
|
|
with:
|
|
|
|
compiler: ${{ matrix.compiler }}
|
|
|
|
|
|
|
|
- name: Build library
|
|
|
|
run: dub build --build=release --config=library
|
|
|
|
|
|
|
|
- name: Build unittest
|
|
|
|
run: dub test --build=unittest --config=unittest
|
|
|
|
|
|
|
|
- name: Build examples
|
|
|
|
run: |
|
|
|
|
dub run --build=release --config=quickstartExample
|
|
|
|
dub run --build=release --config=qualifiersExample
|
|
|
|
dub run --build=release --config=arrayCompletionExample
|
|
|
|
dub run --build=release --config=annotationsExample
|
|
|
|
dub run --build=release --config=applicationContextExample
|
|
|
|
dub run --build=release --config=registerOnResolveExample
|
|
|
|
dub run --build=release --config=constructorInjectionExample
|
|
|
|
dub run --build=release --config=valueInjectionExample
|
2023-03-13 19:42:21 +01:00
|
|
|
dub run --build=release --config=postConPreDestExample
|
2021-06-09 23:42:45 +02:00
|
|
|
|
2023-03-13 19:57:22 +01:00
|
|
|
# Ensure Poodinis can build on GDC
|
2021-06-09 23:42:45 +02:00
|
|
|
gdc-latest:
|
|
|
|
name: GDC on Ubuntu
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
|
|
|
|
- name: Install DMD (so dub is available)
|
|
|
|
uses: dlang-community/setup-dlang@v1
|
|
|
|
with:
|
|
|
|
compiler: dmd-latest
|
|
|
|
|
|
|
|
- name: Install GDC
|
|
|
|
run: |
|
|
|
|
sudo apt-get update
|
|
|
|
sudo apt-get install gdc -y
|
|
|
|
gdc --version
|
|
|
|
|
|
|
|
- name: Build library
|
|
|
|
env:
|
|
|
|
DC: gdc
|
|
|
|
run: dub build --compiler=gdc --build=release --config=library
|
|
|
|
|
|
|
|
- name: Build unittest
|
|
|
|
env:
|
|
|
|
DC: gdc
|
|
|
|
run: dub test --compiler=gdc --build=unittest --config=unittest
|
|
|
|
|
|
|
|
- name: Build examples
|
|
|
|
env:
|
|
|
|
DC: gdc
|
|
|
|
run: |
|
|
|
|
dub run --compiler=gdc --build=release --config=quickstartExample
|
|
|
|
dub run --compiler=gdc --build=release --config=qualifiersExample
|
|
|
|
dub run --compiler=gdc --build=release --config=arrayCompletionExample
|
|
|
|
dub run --compiler=gdc --build=release --config=annotationsExample
|
|
|
|
dub run --compiler=gdc --build=release --config=applicationContextExample
|
|
|
|
dub run --compiler=gdc --build=release --config=registerOnResolveExample
|
|
|
|
dub run --compiler=gdc --build=release --config=constructorInjectionExample
|
|
|
|
dub run --compiler=gdc --build=release --config=valueInjectionExample
|
2023-03-13 19:42:21 +01:00
|
|
|
dub run --compiler=gdc --build=release --config=postConPreDestExample
|