master Merge pull request #9 from travis-ci/meat-rescue-moar

Push event #68 passed

  • Ran for
  • Total time
bmlt-enabled/bmlt-root-server:.travis.yml@779e79c
language: php

php:
- '7.1'

env:
  global:
  - ZIP_FILENAME=bmlt-root-server-build${TRAVIS_BUILD_NUMBER}-${TRAVIS_COMMIT}.zip
  - S3_BUCKET=archives.bmlt.app
  - S3_KEY=bmlt-root-server

jobs:
  include:

    - stage: lint
      install:
        - composer install --dev
      script:
        - find . -name "*.php" ! -path '*/vendor/*' -print0 | xargs -0 -n1 -P8 php -l
        - main_server/vendor/squizlabs/php_codesniffer/bin/phpcs --warning-severity=6 --standard=PSR2 --ignore=vendor --extensions=php --report=summary main_server

    - stage: zip file
      env:
        - BUILD_DIR=build
        - DIST_DIR_S3=dist/s3
        - DIST_DIR_GITHUB=dist/github
        - GITHUB_RELEASE_FILENAME=bmlt-root-server.zip
      install:
        - make deps
      script:
        - cp LICENSE.txt main_server && cp .htaccess main_server/vendor
        - find ./main_server -type d | xargs chmod 755
        - find ./main_server -name '*.php' | xargs chmod 644
        - mkdir $BUILD_DIR && zip -r $BUILD_DIR/$ZIP_FILENAME main_server
      before_deploy:
        - mkdir -p $DIST_DIR_S3 && cp $BUILD_DIR/$ZIP_FILENAME $DIST_DIR_S3/$ZIP_FILENAME
        - mkdir -p $DIST_DIR_GITHUB && cp $BUILD_DIR/$ZIP_FILENAME $DIST_DIR_GITHUB/$GITHUB_RELEASE_FILENAME
        - curl -LO https://raw.githubusercontent.com/bmlt-enabled/release-notes-tool/master/release-notes.sh
        - chmod +x release-notes.sh
        - ./release-notes.sh README.md "*Version"
      deploy:
        - provider: s3
          access_key_id: AKIAI7JHYFA6DI3WYP5A
          secret_access_key:
            secure: "XXmslPjsNSisQoGp9ftbULzhnFnnwScLVXM7D/6Y2gwk3WLr/nEUX33WkWM9mWZrEkaWkPjHthBifOoX2t0sPVTvF00B3V9kdw6Y7FwCkm2soi13x64fKCiDA8Ed2bala+5uuC05sI8uGk4/4To2G67bVi0Lnhx1JDUn31EbvxvZc86F2mHfnRZyZNrmBSkOxMvWnHMspKFiOIf5KcuBrciaB5ZilYPuwJJXnQFy9srwifjA0mYOKJ6djyvP6RGWABHe8iuiKHx73m57vIRv57yOxVQ2zpiaoEu1RGZpwB+S1lqAC7TBziNk4i1aWpLide3lts8E2fARVYTSkZfnhVRarLWYNUhXBs8P93SVJkKsd/di5iVuv88mICDCA6KhVw3CtYzd5LX/1ocL1sxNOVeXeLNNADubfB9DGYcauowyUjkjmliDbfcjjXTeWgicfcEWysOMP8Zc9bXhI2+hJD2vvbZat9pCqF+Z1Px94PjQXiKzudmVnEitcO8N9fQvaljIXAF712dFKYiqkjDHNelQ3jRQk1gt+51jTCpCI0ZAclzBaOc8zjrVVqhfC9y8lEVoYdPhdroLHH34OmT4VEaxKgWb4ncDYA1+w33xXl2rlrjOvZDW0EqAhDni5jJ+wTYj5e+/7szN91wYswU0jhF2yv7jIxULXABghdmixwk="
          bucket: $S3_BUCKET
          local_dir: $DIST_DIR_S3
          upload-dir: $S3_KEY
          skip_cleanup: true
          on:
            all_branches: true
        - provider: releases
          edge: true
          release_notes_file: "changelog.txt"
          token:
            secure: "IU6COo9Q0JUZKxRp+tgps1ZSibpXy4gMonko0FyMwSF1GNP6JJit7JAPulK+ccl5k4y+16a5w/ho/EwGc+PI5py5SLk5+KzfJgS3YaWRptvLuX886M5egmNtgvE0SfkaQkfMipgzDc8FFENHaIFKSIDkiMNr5IKGoAz32qqr5sYHFBX5BmTBfa+sjPuZm1REri9ft2vR5zF1IZlD8BvCiMt4GD8+zYS26CiAEZjuh8tZNC/esamqunGGiu+z8Pn2vMqR3A6qwOD1GjFHXrjLB0osei6BiCQJDtzyz9ZpPCBYyDujUkDjSx7ap6PDAJZNOC1Cw78leGMW8oDEZK6iv/QRuF5EDvD986xZtJMB7tLAdDUS2NhgTeJVm4s9JJU11LO/p30PiWeYFIETxHvKOt9k+05VOV79uJKITxG6ifNrionGD2+eY0h6YnjBDb5Gg8AjFIfZ4y1xsmm5UlnEhfL2yEc0rjoWXL1Q4VtoVrZ4nwPkauC/DokuwKoslCUQ0H3G1d7y3ookmSUCV7Jfaid/Puvxmfe2TyPgVQMnQOfJbHxpn5kR5LhmAmNUaKc8Wi/72u0VNwsaLeiYcTTRu7YRe6BwUFg/S0QIdbbrhw4qtkj2xKYrknMNye3vBJLP/e7+Fq07bYYJlLlA0RQYcSqVKi6Z8E9so5dKs0KWKnw="
          file: $DIST_DIR_GITHUB/$GITHUB_RELEASE_FILENAME
          skip_cleanup: true
          name: $TRAVIS_TAG
          on:
            tags: true

    - stage: docker images
      if: branch IN (master, unstable) OR tag IS present
      services:
        - docker
      env:
        - AWS_DEFAULT_REGION=us-east-1
        - secure: "He2FsOfRQILckDqmVInhUeG743pp2baqSBOvpX+JQogDwNIMeLbSdC59bb+9twaAoWvGJzZjcxrkO3QQoPwCMFuSUE8wU/YIfDsYJY0ONaRYvAX/ZnpRKHVePBwJccOfUGnk+62EubM3n3QoiFa/h6NzQ6EzjR1fyg0q30jmpOA2H+tLhFjTd7RZKW3ZoboTUtYQUY/Ql9mmoTXOENqqtHaSaeA7v+ttwauHrsxixRx95Vlaza3VLfqM82O26IBs7MWNZbnv/MStKB/HUkJM/U79OXochnrRge/rWvKa6UoJ9Smcb65F3/yf4p4ykzp0i+hgmoWBIBQPH7DTb6KnFAAfgdSNeW9NJtxVxgOEHBXExf60jWbVEB2xspJlfnfLaXh8Cn0f83mJzYrbf55znDQhvo8e5myh+zifRuDGbMpfCJRbLbDDFx1hY0D8ZOTUpaoMLVJBmHhInaGj7hOnRYgG4QgvnNIgGuaLyuvWQPZgdTsXXZ/BM0Hv9ITT2xPiKMmQHArbjXV/cm+u7GKpRZpnvYcOPlqB/eFRpCJCro7tFYqfYzH4ReZDhnH+zKpqpI6MMwp6bAqYwcytRJWHfGzQTT0uxKe5ZYdQzBRWYV6dZmOKZt4YIwRwP2H+aSbHvfvm5mWVbZ8KX+bx0t+jQtElHditTfjM1zGOYCX6/mw="
        - secure: "IursVz2FVP2sCdHJ/Ap/MYqV7/5Eg66XAEVwaw1YyelQlZZG5fzforR+vcY24sA1fuWnl5GFHBP6RheKU0G4rQL2CglF+SnolE1kOjL6eRSJdwRQlMH06qjPmEJdmjxHcl5MwIPI6suTwjSJqfkKfNccMkptW6BIdGvG9T4cEFyJVuRbbmKaMN7WiX8ouHN7VNns7TRMKBQ37KFLrKhwzKEyQ+6nBc5fWQUmQVsPQrvIxA5DYLzq/ZqTnABTC0sv8pjtI9zJYCn0LCu4mNXW8tdD4vKUW20mTAAYSUq/csMSF8PwnvXTcSDO2963/WoqjsG+f1jwcsD4TOedNNrV7Rgkq62lVae9edmlAyNiXvoqSK2adYALRVwC0oFsLEcDBihactPFkDNZxbbc4Wa+Rp3MesVCFFiCXTdQkE5blx5H2ghsmELlXjGOJ5YBA05cvZz3tb/sXlNzU0Zl3J/v4vjr2YMqmX7gyjW+exv/5yVoEieduu3ojnd7a8bWswq7CHuf0+fJ/hg0AJBfrT/wS1f+jY3Ru2tyIe3162cjehjZkoLBwC5GUBYn51Z692mbrY159ktcKoMybcuMAq1XahSLNPntG8ZeFxH2ywE8V1guk3t6zoB19W+w/4tYUoOUoYyi8TsLuuaLAghg9idj1KtcIJiOBFJTR/ZKQtc3ypQ="
      install:
        - pip install awscli
        - if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then wget https://$S3_BUCKET/$S3_KEY/$ZIP_FILENAME && rm -rf main_server && unzip $ZIP_FILENAME; fi
      script:
        - aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/m3g5z4b2
        - docker build -f docker/Dockerfile-bmlt . -t bmlt-root-server:$TRAVIS_COMMIT
        - docker build -f docker/Dockerfile-db . -t bmlt-root-server-sample-db:$TRAVIS_COMMIT
      before_deploy:
        - chmod +x travis/deploy-docker-images.sh
      deploy:
        - provider: script
          script: travis/deploy-docker-images.sh
          skip_cleanup: true
          on:
            branch: master
        - provider: script
          script: travis/deploy-docker-images.sh
          skip_cleanup: true
          on:
            branch: unstable
        - provider: script
          script: travis/deploy-docker-images.sh
          skip_cleanup: true
          on:
            tags: true

    - stage: deploy to ecs
      if: branch IN (master, unstable) AND type != pull_request
      env:
        - AWS_DEFAULT_REGION=us-east-1
        - secure: "He2FsOfRQILckDqmVInhUeG743pp2baqSBOvpX+JQogDwNIMeLbSdC59bb+9twaAoWvGJzZjcxrkO3QQoPwCMFuSUE8wU/YIfDsYJY0ONaRYvAX/ZnpRKHVePBwJccOfUGnk+62EubM3n3QoiFa/h6NzQ6EzjR1fyg0q30jmpOA2H+tLhFjTd7RZKW3ZoboTUtYQUY/Ql9mmoTXOENqqtHaSaeA7v+ttwauHrsxixRx95Vlaza3VLfqM82O26IBs7MWNZbnv/MStKB/HUkJM/U79OXochnrRge/rWvKa6UoJ9Smcb65F3/yf4p4ykzp0i+hgmoWBIBQPH7DTb6KnFAAfgdSNeW9NJtxVxgOEHBXExf60jWbVEB2xspJlfnfLaXh8Cn0f83mJzYrbf55znDQhvo8e5myh+zifRuDGbMpfCJRbLbDDFx1hY0D8ZOTUpaoMLVJBmHhInaGj7hOnRYgG4QgvnNIgGuaLyuvWQPZgdTsXXZ/BM0Hv9ITT2xPiKMmQHArbjXV/cm+u7GKpRZpnvYcOPlqB/eFRpCJCro7tFYqfYzH4ReZDhnH+zKpqpI6MMwp6bAqYwcytRJWHfGzQTT0uxKe5ZYdQzBRWYV6dZmOKZt4YIwRwP2H+aSbHvfvm5mWVbZ8KX+bx0t+jQtElHditTfjM1zGOYCX6/mw="
        - secure: "IursVz2FVP2sCdHJ/Ap/MYqV7/5Eg66XAEVwaw1YyelQlZZG5fzforR+vcY24sA1fuWnl5GFHBP6RheKU0G4rQL2CglF+SnolE1kOjL6eRSJdwRQlMH06qjPmEJdmjxHcl5MwIPI6suTwjSJqfkKfNccMkptW6BIdGvG9T4cEFyJVuRbbmKaMN7WiX8ouHN7VNns7TRMKBQ37KFLrKhwzKEyQ+6nBc5fWQUmQVsPQrvIxA5DYLzq/ZqTnABTC0sv8pjtI9zJYCn0LCu4mNXW8tdD4vKUW20mTAAYSUq/csMSF8PwnvXTcSDO2963/WoqjsG+f1jwcsD4TOedNNrV7Rgkq62lVae9edmlAyNiXvoqSK2adYALRVwC0oFsLEcDBihactPFkDNZxbbc4Wa+Rp3MesVCFFiCXTdQkE5blx5H2ghsmELlXjGOJ5YBA05cvZz3tb/sXlNzU0Zl3J/v4vjr2YMqmX7gyjW+exv/5yVoEieduu3ojnd7a8bWswq7CHuf0+fJ/hg0AJBfrT/wS1f+jY3Ru2tyIe3162cjehjZkoLBwC5GUBYn51Z692mbrY159ktcKoMybcuMAq1XahSLNPntG8ZeFxH2ywE8V1guk3t6zoB19W+w/4tYUoOUoYyi8TsLuuaLAghg9idj1KtcIJiOBFJTR/ZKQtc3ypQ="
      install:
        - cd terraform
        - wget https://releases.hashicorp.com/terraform/0.14.6/terraform_0.14.6_linux_amd64.zip
        - unzip terraform_0.14.6_linux_amd64.zip
        - rm -f terraform_0.14.6_linux_amd64.zip
      script:
        - ./terraform init -input=false
        - ./terraform taint -allow-missing aws_ecs_task_definition.bmlt_$(if [ $TRAVIS_BRANCH == "master" ]; then echo latest; else echo unstable; fi)
        - ./terraform apply -input=false -auto-approve

    - stage: deploy docs to gh-pages
      addons:
        apt:
          packages:
            - doxygen
      script:
        - mkdir docs && cd doc
        - doxygen Doxyfile
      deploy:
        - provider: pages
          skip_cleanup: true
          local_dir: docs
          target_branch: gh-pages
          github_token: $GITHUB_API_KEY
          on:
            branch: master

notifications:
  slack:
    rooms:
    - secure: "bmoIugz9sorNakDw7LnfC3iB7a4CnhuZeZBAVxefSoqipbZAGLoA86pSaDwSK3kNsCRAUXyHJ0pBxxJuCO5jrQKhl9TNBFQQ60KPvn3LQj9OXXTSHp4qoqBytipQGyjeqySu4fJt8Lc0u8FQ0qinxn21qF7K7c54aygVKQd+nxf/+9rVzSOJIY+c6UEBb9FwKfHl9cOJy8nTHYPNl0ZbQaYVS1gvyOV2jzrlurOXb0t2xYs2W9EOAjUd2E4ZVaD8EEyRZ9zcvy8ne41qZGBLMJjHZo6TdN4x0AdEYiITst5fKj+YILNCaVQMyURu5h65RPVXyjZ/eIOUixSt1EOpMTxWcRiDn3H7B2F7eEUIXyo/c5x1AEWEQFLGK+/PEqWx/zaBG0rJJdzVbLaqet2kg5piy+f84EBCZiXm7CZIYPMSjLJo9AJDcY9iSRgvpRnkSagHZAgMILNut53aNPd8i3FoOeycPwux/KDQpSz0uIpn4xu26VY0bzxJ8N27VugUhmNhLCN05Hgw8GoDjEoh4EgPPsdNVzXT4mzpjx2GfhRZOm/78LUSDB/w3oIAEPzRFfhberBAo0l2w9T5+Ynbw9yyquYgNUOW/nMhbwqOPbWqndHa8Xume0DXp2COHEqoSZx4gDIIRRKjKdsrFjjasWB5K7IQXQfBoiGAL7EscNA="
    on_success: change
  email: false
Build Config
{
  "os": [
    "linux"
  ],
  "env": {
    "global": [
      "COVERAGE=1"
    ],
    "matrix": [
      "INTEGRATION_SPECS=0",
      "INTEGRATION_SPECS=1"
    ]
  },
  "rvm": [
    "2.5.1"
  ],
  "dist": "trusty",
  "sudo": false,
  "cache": {
    "bundler": true,
    "directories": [
      "$HOME/.rvm"
    ]
  },
  "language": "ruby",
  "services": [
    "redis-server"
  ],
  "before_script": [
    "source .example.env"
  ],
  "notifications": {
    "email": {
      "enabled": false
    }
  },
  "before_install": [
    "gem install bundler"
  ]
}