.travis.yml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. language: php
  2. branches:
  3. only:
  4. - /.*/
  5. php:
  6. - '7.4'
  7. services:
  8. - docker
  9. cache:
  10. directories:
  11. - $HOME/.composer/cache/files
  12. before_install:
  13. - echo 'extension = apcu.so' >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
  14. - yes | pecl install swoole-4.4.15
  15. - phpenv config-rm xdebug.ini || return 0
  16. install:
  17. - composer self-update
  18. - composer install --no-interaction --prefer-dist
  19. before_script:
  20. - docker-compose -f docker-compose.yml -f docker-compose.ci.yml up -d shlink_db_ms shlink_db shlink_db_postgres shlink_db_maria
  21. - sleep 10 # Let MS database start-up before trying to interact with it
  22. - docker-compose exec shlink_db_ms /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P 'Passw0rd!' -Q "CREATE DATABASE shlink_test;"
  23. - mkdir build
  24. - export DOCKERFILE_CHANGED=$(git diff ${TRAVIS_COMMIT_RANGE:-origin/master} --name-only | grep Dockerfile)
  25. script:
  26. - composer ci
  27. - if [[ ! -z "$DOCKERFILE_CHANGED" && "${TRAVIS_PHP_VERSION}" == "7.4" ]]; then docker build -t shlink-docker-image:temp . ; fi
  28. after_success:
  29. - rm -f build/clover.xml
  30. - wget https://phar.phpunit.de/phpcov-7.0.2.phar
  31. - phpdbg -qrr phpcov-7.0.2.phar merge build --clover build/clover.xml
  32. - wget https://scrutinizer-ci.com/ocular.phar
  33. - php ocular.phar code-coverage:upload --format=php-clover build/clover.xml
  34. # Before deploying, build dist file for current travis tag
  35. before_deploy:
  36. - rm -f ocular.phar
  37. - if [[ ! -z $TRAVIS_TAG && "${TRAVIS_PHP_VERSION}" == "7.4" ]]; then ./build.sh ${TRAVIS_TAG#?} ; fi
  38. deploy:
  39. - provider: releases
  40. api_key:
  41. secure: a9dbZchocqeuOViwUeNH54bQR5Sz7rEYXx5b9WPFtnFn9LGKKUaLbA2U91UQ9QKPrcTpsALubUYbw2CnNmvCwzaY+R8lCD3gkU4ohsEnbpnw3deOeixI74sqBHJAuCH9FSaRDGILoBMtUKx2xlzIymFxkIsgIukkGbdkWHDlRWY3oTUUuw1SQ2Xk9KDsbJQtjIc1+G/O6gHaV4qv/R9W8NPmJExKTNDrAZbC1vIUnxqp4UpVo1hst8qPd1at94CndDYM5rG+7imGbdtxTxzamt819qdTO1OfvtctKawNAm7YXZrrWft6c7gI6j6SI4hxd+ZrrPBqbaRFHkZHjnNssO/yn4SaOHFFzccmu0MzvpPCf0qWZwd3sGHVYer1MnR2mHYqU84QPlW3nrHwJjkrpq3+q0JcBY6GsJs+RskHNtkMTKV05Iz6QUI5YZGwTpuXaRm036SmavjGc4IDlMaYCk/NmbB9BKpthJxLdUpczOHpnjXXHziotWD6cfEnbjU3byfD8HY5WrxSjsNT7SKmXN3hRof7bk985ewQVjGT42O3NbnfnqjQQWr/B7/zFTpLR4f526Bkq12CdCyf5lvrbq+POkLVdJ+uFfR7ds248Ue/jBQy6kM1tWmKF9QiwisFlA84eQ4CW3I93Rp97URv+AQa9zmbD0Ve3Udp+g6nF5I=
  42. file: "./build/shlink_${TRAVIS_TAG#?}_dist.zip"
  43. skip_cleanup: true
  44. on:
  45. tags: true
  46. php: '7.4'
  47. - provider: script
  48. script: bash ./docker/build
  49. on:
  50. all_branches: true
  51. condition: $TRAVIS_PULL_REQUEST == 'false'
  52. php: '7.4'