run_test_cases.yaml 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. name: Run test case
  2. on:
  3. push:
  4. tags:
  5. - v*
  6. release:
  7. types:
  8. - published
  9. pull_request:
  10. workflow_dispatch:
  11. repository_dispatch:
  12. types: [run_actions]
  13. jobs:
  14. run_test_case:
  15. runs-on: ubuntu-20.04
  16. steps:
  17. - uses: actions/checkout@v2
  18. - name: set up
  19. env:
  20. MYSQL_TAG: 8
  21. REDIS_TAG: 6
  22. MONGO_TAG: 4
  23. PGSQL_TAG: 13
  24. LDAP_TAG: 2.4.50
  25. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  26. run: |
  27. docker-compose -f .ci/apps_tests/docker-compose.yaml build --no-cache
  28. docker-compose -f .ci/apps_tests/docker-compose.yaml up -d
  29. - name: run tests
  30. run: |
  31. export EMQX_AUTH__LDAP__SERVERS=ldap_server \
  32. EMQX_AUTH__MONGO__SERVER=mongo_server:27017 \
  33. EMQX_AUTH__REDIS__SERVER=redis_server:6379 \
  34. EMQX_AUTH__MYSQL__SERVER=mysql_server:3306 \
  35. EMQX_AUTH__MYSQL__USERNAME=root \
  36. EMQX_AUTH__MYSQL__PASSWORD=public \
  37. EMQX_AUTH__MYSQL__DATABASE=mqtt \
  38. EMQX_AUTH__PGSQL__SERVER=pgsql_server:5432 \
  39. EMQX_AUTH__PGSQL__USERNAME=root \
  40. EMQX_AUTH__PGSQL__PASSWORD=public \
  41. EMQX_AUTH__PGSQL__DATABASE=mqtt \
  42. CUTTLEFISH_ENV_OVERRIDE_PREFIX=EMQX_
  43. printenv > .env
  44. docker exec -i erlang bash -c "make xref"
  45. docker exec --env-file .env -i erlang bash -c "make ct"
  46. docker exec --env-file .env -i erlang bash -c "make eunit"
  47. docker exec -i erlang bash -c "make cover"
  48. docker exec -i erlang bash -c "make coveralls"
  49. - uses: actions/upload-artifact@v1
  50. if: failure()
  51. with:
  52. name: logs
  53. path: _build/test/logs
  54. - uses: actions/upload-artifact@v1
  55. with:
  56. name: cover
  57. path: _build/test/cover