Skip to content

Try dip1000

Try dip1000 #188

name: Integration Tests
# MySQL Native should work with the following database versions:
# mysql:8 (Broken on MySQL 8 - see: https://github.com/mysql-d/mysql-native/issues/230)
# mysql:5.7
# mariadb:10
on:
schedule:
- cron: '30 7 1 * *'
push:
branches:
- master
pull_request:
types: [opened, synchronize, reopened, edited]
workflow_dispatch:
jobs:
# mysql8-tests:
# name: MySQL 8 Tests ${{ matrix.compiler }}
# strategy:
# fail-fast: false
# # max-parallel: 2
# matrix:
# compiler:
# - dmd-latest
# - ldc-latest
# runs-on: ubuntu-20.04
# services:
# mysql:
# image: mysql:8
# ports: [3306]
# env:
# MYSQL_ROOT_PASSWORD: f48dfhw3Hd!Asah7i2aZ
# MYSQL_DATABASE: testdb
# MYSQL_USER: testuser
# MYSQL_PASSWORD: passw0rd
# # Set health checks to wait until mysql service has started
# options: >-
# --health-cmd "mysqladmin ping"
# --health-interval 10s
# --health-timeout 3s
# --health-retries 4
# steps:
# - uses: actions/checkout@v2
# - name: Install ${{ matrix.compiler }}
# uses: dlang-community/setup-dlang@v1
# with:
# compiler: ${{ matrix.compiler }}
# - name: Set up test connection string
# env:
# MYSQL_PORT: ${{ job.services.mysql.ports[3306] }}
# run: |
# echo "host=localhost;port=$MYSQL_PORT;user=testuser;pwd=passw0rd;db=testdb" > testConnectionStr.txt
# - name: Run unittests with Vibe.d
# run: |
# dub run ":integration-tests-vibe"
# - name: Run unittests with Phobos
# run: |
# dub run ":integration-tests-phobos"
# - name: Build The Example Project
# working-directory: ./examples/homePage
# run: dub build
# - name: Run Example (MySQL 8)
# working-directory: ./examples/homePage
# env:
# MYSQL_PORT: ${{ job.services.mysql.ports[3306] }}
# run: |
# ./example "host=localhost;port=$MYSQL_PORT;user=testuser;pwd=passw0rd;db=testdb"
mysql57-tests:
name: MySQL 5.7 Tests ${{ matrix.compiler }}
strategy:
fail-fast: false
# max-parallel: 2
matrix:
compiler:
- dmd-latest
- ldc-latest
- dmd-2.101.2
- dmd-2.098.1
- dmd-2.097.2
- ldc-1.31.0 # eq to dmd v2.101.2
- ldc-1.28.1 # eq to dmd v2.098.1
- ldc-1.27.0 # eq to dmd v2.097.2
runs-on: ubuntu-20.04
services:
mysql:
image: mysql:5.7
ports: [3306]
env:
MYSQL_ROOT_PASSWORD: f48dfhw3Hd!Asah7i2aZ
MYSQL_DATABASE: testdb
MYSQL_USER: testuser
MYSQL_PASSWORD: passw0rd
# Set health checks to wait until mysql service has started
options: >-
--health-cmd "mysqladmin ping"
--health-interval 10s
--health-timeout 3s
--health-retries 4
steps:
- uses: actions/checkout@v3
- name: Install ${{ matrix.compiler }}
uses: dlang-community/setup-dlang@v1
with:
compiler: ${{ matrix.compiler }}
- name: Set up test connection string
env:
MYSQL_PORT: ${{ job.services.mysql.ports[3306] }}
run: |
echo "host=localhost;port=$MYSQL_PORT;user=testuser;pwd=passw0rd;db=testdb" > testConnectionStr.txt
- name: Run unittests with Vibe.d
run: |
dub run ":integration-tests-vibe"
- name: Run unittests with Phobos
run: |
dub run ":integration-tests-phobos"
- name: Run test connection utility
env:
MYSQL_PORT: ${{ job.services.mysql.ports[3306] }}
run: |
dub run ":testconn" -- "host=localhost;port=$MYSQL_PORT;user=testuser;pwd=passw0rd;db=testdb"
- name: Build The Example Project
working-directory: ./examples/homePage
run: dub build
- name: Run Example (MySQL 5.7)
working-directory: ./examples/homePage
env:
MYSQL_PORT: ${{ job.services.mysql.ports[3306] }}
run: |
./example "host=localhost;port=$MYSQL_PORT;user=testuser;pwd=passw0rd;db=testdb"
mariadb10-tests:
name: MariaDB 10 Tests ${{ matrix.compiler }}
strategy:
fail-fast: false
# max-parallel: 2
matrix:
compiler:
- dmd-latest
- ldc-latest
- dmd-2.101.2
- dmd-2.098.1
- dmd-2.097.2
- ldc-1.31.0 # eq to dmd v2.101.2
- ldc-1.28.1 # eq to dmd v2.098.1
- ldc-1.27.0 # eq to dmd v2.097.2
runs-on: ubuntu-20.04
services:
mysql:
image: mariadb:10
ports: [3306]
env:
MYSQL_ROOT_PASSWORD: f48dfhw3Hd!Asah7i2aZ
MYSQL_DATABASE: testdb
MYSQL_USER: testuser
MYSQL_PASSWORD: passw0rd
# Set health checks to wait until mysql service has started
options: >-
--health-cmd "mysqladmin ping"
--health-interval 10s
--health-timeout 3s
--health-retries 4
steps:
- uses: actions/checkout@v3
- name: Install ${{ matrix.compiler }}
uses: dlang-community/setup-dlang@v1
with:
compiler: ${{ matrix.compiler }}
- name: Set up test connection string
env:
MYSQL_PORT: ${{ job.services.mysql.ports[3306] }}
run: |
echo "host=localhost;port=$MYSQL_PORT;user=testuser;pwd=passw0rd;db=testdb" > testConnectionStr.txt
- name: Run unittests with Vibe.d
run: |
dub run ":integration-tests-vibe"
- name: Run unittests with Phobos
run: |
dub run ":integration-tests-phobos"
- name: Run test connection utility
env:
MYSQL_PORT: ${{ job.services.mysql.ports[3306] }}
run: |
dub run ":testconn" -- "host=localhost;port=$MYSQL_PORT;user=testuser;pwd=passw0rd;db=testdb"
- name: Build The Example Project
working-directory: ./examples/homePage
run: dub build
- name: Run Example (mariadb 10)
working-directory: ./examples/homePage
env:
MYSQL_PORT: ${{ job.services.mysql.ports[3306] }}
run: |
./example "host=localhost;port=$MYSQL_PORT;user=testuser;pwd=passw0rd;db=testdb"