laravel5.yml 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. name: Dcat Admin Laravel v5
  2. on:
  3. push:
  4. branches: [ 2.0 ]
  5. pull_request:
  6. branches: [ 2.0 ]
  7. jobs:
  8. build:
  9. runs-on: ubuntu-latest
  10. steps:
  11. - uses: shivammathur/setup-php@b7d1d9c9a92d8d8463ce36d7f60da34d461724f8
  12. with:
  13. php-version: '7.1'
  14. - uses: nanasess/setup-chromedriver@master
  15. with:
  16. # Optional: do not specify to match Chrome's version
  17. chromedriver-version: '89.0.4389.23'
  18. - run: |
  19. export DISPLAY=:99
  20. chromedriver --url-base=/wd/hub &
  21. - uses: actions/checkout@v2
  22. - name: Validate composer.json and composer.lock
  23. run: |
  24. composer self-update --2
  25. composer validate --strict
  26. - name: Setup MySQL
  27. # You may pin to the exact commit or the version.
  28. # uses: mirromutth/mysql-action@de1fba8b3f90ce8db80f663a7043be3cf3231248
  29. uses: mirromutth/mysql-action@v1.1
  30. with:
  31. # Version of MySQL to use
  32. mysql version: 5.7
  33. # MYSQL_ROOT_PASSWORD - root superuser password
  34. mysql root password: 123456
  35. # MYSQL_DATABASE - name for the default database that is created
  36. mysql database: laravel
  37. # MYSQL_USER - create the specified user with superuser power for created database
  38. mysql user: root
  39. # MYSQL_PASSWORD - specified superuser password which user is power for created database
  40. mysql password: 123456
  41. - name: Install Dependencies
  42. run: |
  43. composer create-project --prefer-dist laravel/laravel laravel-tests 5.*
  44. cp -f ./tests/resources/stubs/artisan ./laravel-tests/
  45. cp -f ./tests/resources/stubs/ComposerConfigCommand.php ./laravel-tests/app/
  46. mkdir ./laravel-tests/dcat-admin
  47. cp -rf ./config ./laravel-tests/dcat-admin
  48. cp -rf ./database ./laravel-tests/dcat-admin
  49. cp -rf ./resources ./laravel-tests/dcat-admin
  50. cp -rf ./src ./laravel-tests/dcat-admin
  51. cp -rf ./tests ./laravel-tests/dcat-admin
  52. cp -rf ./composer.json ./laravel-tests/dcat-admin
  53. rm -rf ./laravel-tests/tests
  54. cp -rf ./tests ./laravel-tests/tests
  55. cp -f ./phpunit.dusk.xml ./laravel-tests
  56. cp -f ./.env.testing ./laravel-tests/.env
  57. cd ./laravel-tests
  58. php artisan admin:composer-config
  59. composer require dcat/laravel-admin:*@dev
  60. composer require laravel/dusk --dev # --ignore-platform-reqs
  61. - name: Install Admin
  62. run: |
  63. cd ./laravel-tests
  64. php artisan admin:publish --force
  65. php artisan admin:install
  66. php artisan migrate:rollback
  67. php artisan dusk:chrome-driver 89
  68. cp -f ./tests/routes.php ./app/Admin/
  69. cp -rf ./tests/resources/config ./config/
  70. - name: Install Xvfb
  71. run: sudo apt-get install xvfb
  72. - name: Start Server
  73. run: |
  74. cd ./laravel-tests
  75. export DISPLAY=:99.0
  76. sudo Xvfb :99.0 &
  77. sudo chmod -R 0755 ./vendor/laravel/dusk/bin/
  78. ./vendor/laravel/dusk/bin/chromedriver-linux --headless --disable-gpu --remote-debugging-port=9515 http://localhost > /dev/null 2>&1 &
  79. php artisan serve --port=8300 > /dev/null 2>&1 &
  80. - name: Run test suite
  81. run: |
  82. cd ./laravel-tests
  83. php artisan dusk