Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
119 changes: 62 additions & 57 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,37 @@
language: d
sudo: false

# seems the default 'xenial' isn't working well with mariadb (at some point we need to update to bionic)
dist: precise

addons:
mariadb: '10.1'
apt:
update: true
packages: [ libevent-dev ]
homebrew:
brewfile: true

install: $DMD -ofci_setup ci_setup.d && ./ci_setup
script: ./run_tests --mode=combined

matrix:
include:
- d: dmd
env: USE_UNIT_THREADED=true DUB_SELECT=vibe-0.8.6
- d: dmd-2.086.1
env: USE_UNIT_THREADED=true DUB_SELECT=vibe-0.8.6
- d: dmd-2.085.1
env: USE_UNIT_THREADED=true DUB_SELECT=vibe-0.8.6
- d: dmd-2.084.1
env: USE_UNIT_THREADED=true DUB_SELECT=vibe-0.8.6
- d: dmd-2.083.1
env: USE_UNIT_THREADED=true DUB_SELECT=vibe-0.8.6
- d: dmd-2.082.1
env: USE_UNIT_THREADED=true DUB_SELECT=vibe-0.8.6
- d: dmd-2.080.0
env: DUB_SELECT=vibe-0.8.3 # DMDFE 2.079+ doesn't support vibe.d v0.7.32
env: USE_UNIT_THREADED=true DUB_SELECT=vibe-0.8.6 # DMDFE 2.079+ doesn't support vibe.d v0.7.32
- d: dmd-2.079.1
env: USE_UNIT_THREADED=true DUB_SELECT=vibe-0.8.3
env: USE_UNIT_THREADED=true DUB_SELECT=vibe-0.8.6
- d: dmd-2.078.3
env: USE_UNIT_THREADED=true
- d: dmd-2.077.1
Expand All @@ -28,8 +45,22 @@ matrix:
- d: dmd-2.070.2
- d: dmd-2.069.2
- d: dmd-2.068.2
- d: ldc
env: USE_UNIT_THREADED=true DUB_SELECT=vibe-0.8.6
- d: ldc-1.17.0 # eq to dmd v2.087
env: USE_UNIT_THREADED=true DUB_SELECT=vibe-0.8.6
- d: ldc-1.16.0 # eq to dmd v2.086.1
env: USE_UNIT_THREADED=true DUB_SELECT=vibe-0.8.6
- d: ldc-1.15.0 # eq to dmd v2.085.1
env: USE_UNIT_THREADED=true DUB_SELECT=vibe-0.8.6
- d: ldc-1.14.0 # eq to dmd v2.084.1
env: USE_UNIT_THREADED=true DUB_SELECT=vibe-0.8.6
- d: ldc-1.13.0 # eq to dmd v2.083.1
env: USE_UNIT_THREADED=true DUB_SELECT=vibe-0.8.6
- d: ldc-1.12.0 # eq to dmd v2.082.1
env: USE_UNIT_THREADED=true DUB_SELECT=vibe-0.8.6
- d: ldc-1.9.0
env: DUB_SELECT=vibe-0.8.3 # DMDFE 2.079+ doesn't support vibe.d v0.7.32
env: USE_UNIT_THREADED=true DUB_SELECT=vibe-0.8.6 # DMDFE 2.079+ doesn't support vibe.d v0.7.32
- d: ldc-1.8.0
env: USE_UNIT_THREADED=true
- d: ldc-1.7.0
Expand All @@ -42,73 +73,58 @@ matrix:
- d: ldc-1.2.0
- d: ldc-1.1.1
- d: ldc-1.0.0
- d: ldc-0.17.5
- d: ldc-0.17.1
- d: ldc-0.17.0
- d: gdc-6.3.0
- d: gdc-4.8.5
- d: dmd-beta
env: DUB_SELECT=vibe-0.8.3 # DMDFE 2.079+ doesn't support vibe.d v0.7.32
env: USE_UNIT_THREADED=true DUB_SELECT=vibe-0.8.6 # DMDFE 2.079+ doesn't support vibe.d v0.7.32

# Test alternative db versions, but only on one compiler version
- d: dmd-2.078.3
# Test alternative db versions, but only on latest compiler version
- d: dmd
services:
- mysql
addons: # Remove "mariadb: ..." from default addons, but keep "libevent-dev"
apt:
packages: [ libevent-dev ]
env: DB=mysql-default USE_UNIT_THREADED=true
env: DB=mysql-default USE_UNIT_THREADED=true DUB_SELECT=vibe-0.8.6

- d: dmd-2.078.3
- d: dmd
addons:
mariadb: '5.5'
apt:
packages: [ libevent-dev ]
env: DB=mariadb-5.5 USE_UNIT_THREADED=true
env: DB=mariadb-5.5 USE_UNIT_THREADED=true DUB_SELECT=vibe-0.8.6

- d: dmd-2.078.3
- d: dmd
addons:
mariadb: '10.0'
apt:
packages: [ libevent-dev ]
env: DB=mariadb-10.0 USE_UNIT_THREADED=true
env: DB=mariadb-10.0 USE_UNIT_THREADED=true DUB_SELECT=vibe-0.8.6

- d: dmd-2.078.3
- d: dmd
addons:
mariadb: '10.2'
apt:
packages: [ libevent-dev ]
env: DB=mariadb-10.2 USE_UNIT_THREADED=true
env: DB=mariadb-10.2 USE_UNIT_THREADED=true DUB_SELECT=vibe-0.8.6

- d: dmd-2.078.3
- d: dmd
addons:
mariadb: '10.3'
apt:
packages: [ libevent-dev ]
env: DB=mariadb-10.3 USE_UNIT_THREADED=true
env: DB=mariadb-10.3 USE_UNIT_THREADED=true DUB_SELECT=vibe-0.8.6

# on Mac just test latest & oldest supported dmd and ldc
- d: dmd-2.080.0
env: DUB_SELECT=vibe-0.8.3 # DMDFE 2.079+ doesn't support vibe.d v0.7.32
os: osx
osx_image: xcode9 # use OSX 10.13

- d: dmd-2.079.1
env: DUB_SELECT=vibe-0.8.3 # DMDFE 2.079+ doesn't support vibe.d v0.7.32
os: osx
osx_image: xcode9 # use OSX 10.13

- d: dmd-2.078.3
os: osx
osx_image: xcode9 # use OSX 10.13

- d: ldc-1.9.0
- d: dmd
env: USE_UNIT_THREADED=true DUB_SELECT=vibe-0.8.6 # DMDFE 2.079+ doesn't support vibe.d v0.7.32
os: osx
osx_image: xcode9 # use OSX 10.13
osx_image: xcode11 # use OSX 10.14

- d: ldc-1.8.0
- d: ldc
env: USE_UNIT_THREADED=true DUB_SELECT=vibe-0.8.6
os: osx
osx_image: xcode9 # use OSX 10.13
osx_image: xcode11 # use OSX 10.14

- d: dmd-2.068.2
os: osx
Expand All @@ -118,42 +134,31 @@ matrix:

# Test with all dependencies updated
# (dub.selections.json is deliberately kept old)
- d: dmd-2.080.0
- d: dmd
services:
- mysql
env: DUB_UPGRADE=true DB=mysql-default
env: USE_UNIT_THREADED=true DUB_UPGRADE=true DB=mysql-default

allow_failures:
# Doesn't appear to exist on travis: https://github.com/travis-ci/travis-ci/issues/8849
- d: gdc-6.3.0

# Occasional failures are expected here
- d: dmd-beta
env: USE_UNIT_THREADED=true DUB_UPGRADE=true DB=mysql-default

# These are currently failing because mysql-native does not yet
# support MySQL v8.0.4's new default authentication mechanism: caching_sha2_password
# See issue #189: https://github.com/mysql-d/mysql-native/issues/189
- d: dmd-2.080.0
env: DUB_SELECT=vibe-0.8.3 # DMDFE 2.079+ doesn't support vibe.d v0.7.32
os: osx
osx_image: xcode9 # use OSX 10.13

- d: dmd-2.079.1
env: DUB_SELECT=vibe-0.8.3 # DMDFE 2.079+ doesn't support vibe.d v0.7.32
- d: dmd
env: USE_UNIT_THREADED=true DUB_SELECT=vibe-0.8.6 # DMDFE 2.079+ doesn't support vibe.d v0.7.32
os: osx
osx_image: xcode9 # use OSX 10.13
osx_image: xcode11 # use OSX 10.14

- d: dmd-2.078.3
os: osx
osx_image: xcode9 # use OSX 10.13

- d: ldc-1.9.0
os: osx
osx_image: xcode9 # use OSX 10.13

- d: ldc-1.8.0
- d: ldc
env: USE_UNIT_THREADED=true DUB_SELECT=vibe-0.8.6
os: osx
osx_image: xcode9 # use OSX 10.13
osx_image: xcode11 # use OSX 10.14

- d: dmd-2.068.2
os: osx
Expand Down
3 changes: 3 additions & 0 deletions Brewfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# running 'brew bundle' will install required dependencies
brew 'libevent'
brew "mysql@5.6", restart_service: true, link: true, conflicts_with: ["mysql"]
15 changes: 11 additions & 4 deletions ci_setup.d
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import std.file;
import std.process;
import std.stdio : writefln;

bool envBool(string name)
{
Expand All @@ -22,8 +23,10 @@ void main()
auto haveRdmd = executeShell("rdmd --help").status == 0;
if(!haveRdmd)
{
auto dmdZip = "dmd.2.076.0."~environment["TRAVIS_OS_NAME"]~".zip";
spawnShell("wget http://downloads.dlang.org/releases/2017/"~dmdZip).wait;
auto dmdVersion = "2.088.0";
auto dmdZip = "dmd."~dmdVersion~"."~environment["TRAVIS_OS_NAME"]~".zip";
writefln("Downloading %s from downloads.dlang.org", dmdZip);
spawnShell("wget http://downloads.dlang.org/releases/2.x/"~dmdVersion~"/"~dmdZip).wait;
spawnShell("unzip -q -d local-dmd "~dmdZip).wait;
}

Expand All @@ -35,8 +38,12 @@ void main()
}

// If an alternate dub.selections.json was requested, use it.
copyIfExists("dub.selections."~envGet("DUB_SELECT")~".json", "dub.selections.json");
copyIfExists("examples/homePage/dub.selections."~envGet("DUB_SELECT")~".json", "examples/homePage/dub.selections.json");
if(environment.get("DUB_SELECT") != null) {
string dubSelections = "dub.selections."~envGet("DUB_SELECT")~".json";
writefln("Using alternative dub dependencies file: %s", dubSelections);
copyIfExists(dubSelections, "dub.selections.json");
copyIfExists("examples/homePage/dub.selections."~envGet("DUB_SELECT")~".json", "examples/homePage/dub.selections.json");
}

if(envBool("DUB_UPGRADE"))
{
Expand Down
12 changes: 0 additions & 12 deletions dub.selections.vibe-0.8.3.json

This file was deleted.

12 changes: 12 additions & 0 deletions dub.selections.vibe-0.8.6.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"fileVersion": 1,
"versions": {
"libasync": "0.8.4",
"libev": "5.0.0+4.04",
"libevent": "2.0.2+2.0.16",
"memutils": "0.4.13",
"openssl": "1.1.4+1.0.1g",
"unit-threaded": "0.7.55",
"vibe-d": "0.8.6"
}
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"fileVersion": 1,
"versions": {
"libasync": "0.8.2",
"libasync": "0.8.4",
"libev": "5.0.0+4.04",
"libevent": "2.0.1+2.0.16",
"memutils": "0.4.8",
"libevent": "2.0.2+2.0.16",
"memutils": "0.4.13",
"mysql-native": {"path":"../.."},
"openssl": "1.1.4+1.0.1g",
"unit-threaded": "0.7.45",
"vibe-d": "0.8.3"
"unit-threaded": "0.7.55",
"vibe-d": "0.8.6"
}
}