Try dip1000 #189
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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" |