laravel5.yml 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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. - name: Setup Chrome
  19. # You may pin to the exact commit or the version.
  20. # uses: browser-actions/setup-chrome@4fa655aad48f56911cad16db9252399a9e592848
  21. uses: browser-actions/setup-chrome@v0.0.0
  22. with:
  23. # The Chromium version to install and use.
  24. chromium-version: # optional
  25. - run: |
  26. export DISPLAY=:99
  27. chromedriver --url-base=/wd/hub &
  28. - uses: actions/checkout@v2
  29. - name: Validate composer.json and composer.lock
  30. run: |
  31. composer self-update --2
  32. composer validate --strict
  33. - name: Setup MySQL
  34. # You may pin to the exact commit or the version.
  35. # uses: mirromutth/mysql-action@de1fba8b3f90ce8db80f663a7043be3cf3231248
  36. uses: mirromutth/mysql-action@v1.1
  37. with:
  38. # Version of MySQL to use
  39. mysql version: 5.7
  40. # MYSQL_ROOT_PASSWORD - root superuser password
  41. mysql root password: 123456
  42. # MYSQL_DATABASE - name for the default database that is created
  43. mysql database: laravel
  44. # MYSQL_USER - create the specified user with superuser power for created database
  45. mysql user: root
  46. # MYSQL_PASSWORD - specified superuser password which user is power for created database
  47. mysql password: 123456
  48. - name: Install Dependencies
  49. run: |
  50. composer create-project --prefer-dist laravel/laravel laravel-tests 5.*
  51. cp -f ./tests/resources/stubs/artisan ./laravel-tests/
  52. cp -f ./tests/resources/stubs/ComposerConfigCommand.php ./laravel-tests/app/
  53. mkdir ./laravel-tests/dcat-admin
  54. cp -rf ./config ./laravel-tests/dcat-admin
  55. cp -rf ./database ./laravel-tests/dcat-admin
  56. cp -rf ./resources ./laravel-tests/dcat-admin
  57. cp -rf ./src ./laravel-tests/dcat-admin
  58. cp -rf ./tests ./laravel-tests/dcat-admin
  59. cp -rf ./composer.json ./laravel-tests/dcat-admin
  60. rm -rf ./laravel-tests/tests
  61. cp -rf ./tests ./laravel-tests/tests
  62. cp -f ./phpunit.dusk.xml ./laravel-tests
  63. cp -f ./.env.testing ./laravel-tests/.env
  64. cd ./laravel-tests
  65. php artisan admin:composer-config
  66. composer require dcat/laravel-admin:*@dev
  67. composer require laravel/dusk --dev # --ignore-platform-reqs
  68. - name: Install Admin
  69. run: |
  70. cd ./laravel-tests
  71. php artisan admin:publish --force
  72. php artisan admin:install
  73. php artisan migrate:rollback
  74. php artisan dusk:chrome-driver 89
  75. cp -f ./tests/routes.php ./app/Admin/
  76. cp -rf ./tests/resources/config ./config/
  77. - name: Install Xvfb
  78. run: sudo apt-get install xvfb
  79. - name: Start Server
  80. run: |
  81. cd ./laravel-tests
  82. export DISPLAY=:99.0
  83. sudo Xvfb :99.0 &
  84. sudo chmod -R 0755 ./vendor/laravel/dusk/bin/
  85. ./vendor/laravel/dusk/bin/chromedriver-linux > /dev/null 2>&1 &
  86. php artisan serve --port=8300 > /dev/null 2>&1 &
  87. - name: Run test suite
  88. run: |
  89. cd ./laravel-tests
  90. php artisan dusk