Newer
Older
dub_jkp / .travis.yml
language: d
dist: trusty
sudo: false

addons:
  apt:
    packages:
      - libevent-dev

before_install:
  # Use the dub-updating fork of the installer script until https://github.com/dlang/installer/pull/301 is merged
  - wget https://raw.githubusercontent.com/wilzbach/installer-dub/master/script/install.sh -O ~/dlang/install.dub.sh
  - . $(bash ~/dlang/install.dub.sh -a dub)
  - dub --version

script:
  - ./travis-ci.sh

jobs:
  allow_failures:
    - d: gdc
  include:
    - stage: test
      d: dmd-2.081.1
      env: [FRONTEND=2.081]
    - d: dmd-2.080.1
      env: [FRONTEND=2.080]
    - d: dmd-2.079.1
      env: [FRONTEND=2.078]
    - d: dmd-2.078.1
      env: [FRONTEND=2.078]
    - d: dmd-2.077.1
      env: [FRONTEND=2.077, COVERAGE=true]
    - d: dmd-2.076.1
      env: [FRONTEND=2.076]
    - d: dmd-2.075.1
      env: [FRONTEND=2.075]
    - d: dmd-2.074.1
      env: [FRONTEND=2.074]
    - d: dmd-2.073.2
      env: [FRONTEND=2.073]
    - d: dmd-2.072.2
      env: [FRONTEND=2.072]
    - d: ldc-1.10.0
      env: [FRONTEND=2.080]
    - d: ldc-1.9.0
      env: [FRONTEND=2.079]
    - d: ldc-1.8.0
      env: [FRONTEND=2.078]
    - d: ldc-1.7.0
      env: [FRONTEND=2.077]
    - d: ldc-1.6.0
      env: [FRONTEND=2.076]
    - d: ldc-1.5.0
      env: [FRONTEND=2.075]
    - d: ldc-1.4.0
      env: [FRONTEND=2.074]
    - d: ldc-1.3.0
      env: [FRONTEND=2.073]
    - stage: deploy
      d: ldc
      os: osx
      script: echo "Deploying to GitHub releases ..." && ./release.sh
      deploy:
        - provider: releases
          file_glob: true
          file: bin/dub-*.tar.gz
          skip_cleanup: true
          api_key: $GH_REPO_TOKEN
          on:
            tags: true
    - d: ldc
      script: echo "Deploying to GitHub releases ..." && ./release.sh
      env: [ARCH=32]
      addons:
        apt:
          packages:
          - g++-multilib
          - libcurl4-openssl-dev:i386
      deploy:
        - provider: releases
          file_glob: true
          file: bin/dub-*.tar.gz
          skip_cleanup: true
          api_key: $GH_REPO_TOKEN
          on:
            tags: true
    - d: ldc
      script: echo "Deploying to GitHub releases ..." && ./release.sh
      deploy:
        - provider: releases
          file_glob: true
          file: bin/dub-*.tar.gz
          skip_cleanup: true
          api_key: $GH_REPO_TOKEN
          on:
            tags: true
    - stage: update-latest
      script: echo "Deploying to GitHub pages ..." && mkdir -p docs && git describe --abbrev=0 --tags > docs/LATEST
      deploy:
        - provider: pages
          skip_cleanup: true
          local_dir: docs
          github_token: $GH_REPO_TOKEN
          on:
            tags: true
stages:
  - name: test
    if: type = pull_request or (type = push and branch = master)
  # Until deployment of the release binaries is fixed, always build them
  #- name: deploy
    #if: type = push and tag =~ ^v\d+\.\d+\.\d+[^-]*\$ # not a pre-release tag
  - name: update-latest
    if: type = push and tag =~ ^v\d+\.\d+\.\d+[^-]*\$ # not a pre-release tag