Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
 
 
 

136 Zeilen
4.0 KiB

  1. name: Server
  2. on:
  3. pull_request:
  4. workflow_dispatch:
  5. push:
  6. branches: [ develop ]
  7. concurrency:
  8. group: server-mariadb-develop-${{ github.event.number }}
  9. cancel-in-progress: true
  10. permissions:
  11. contents: read
  12. jobs:
  13. test:
  14. runs-on: ubuntu-latest
  15. timeout-minutes: 60
  16. strategy:
  17. fail-fast: false
  18. matrix:
  19. container: [1, 2]
  20. name: Python Unit Tests (MariaDB)
  21. services:
  22. mysql:
  23. image: mariadb:10.3
  24. env:
  25. MYSQL_ALLOW_EMPTY_PASSWORD: YES
  26. ports:
  27. - 3306:3306
  28. options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3
  29. steps:
  30. - name: Clone
  31. uses: actions/checkout@v3
  32. - name: Setup Python
  33. uses: actions/setup-python@v4
  34. with:
  35. python-version: '3.8'
  36. - name: Check if build should be run
  37. id: check-build
  38. run: |
  39. python "${GITHUB_WORKSPACE}/.github/helper/roulette.py"
  40. env:
  41. TYPE: "server"
  42. PR_NUMBER: ${{ github.event.number }}
  43. REPO_NAME: ${{ github.repository }}
  44. - uses: actions/setup-node@v3
  45. if: ${{ steps.check-build.outputs.build == 'strawberry' }}
  46. with:
  47. node-version: 14
  48. check-latest: true
  49. - name: Add to Hosts
  50. if: ${{ steps.check-build.outputs.build == 'strawberry' }}
  51. run: |
  52. echo "127.0.0.1 test_site" | sudo tee -a /etc/hosts
  53. echo "127.0.0.1 test_site_producer" | sudo tee -a /etc/hosts
  54. - name: Cache pip
  55. if: ${{ steps.check-build.outputs.build == 'strawberry' }}
  56. uses: actions/cache@v3
  57. with:
  58. path: ~/.cache/pip
  59. key: ${{ runner.os }}-pip-${{ hashFiles('**/*requirements.txt', '**/pyproject.toml', '**/setup.py') }}
  60. restore-keys: |
  61. ${{ runner.os }}-pip-
  62. ${{ runner.os }}-
  63. - name: Cache node modules
  64. if: ${{ steps.check-build.outputs.build == 'strawberry' }}
  65. uses: actions/cache@v3
  66. env:
  67. cache-name: cache-node-modules
  68. with:
  69. path: ~/.npm
  70. key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
  71. restore-keys: |
  72. ${{ runner.os }}-build-${{ env.cache-name }}-
  73. ${{ runner.os }}-build-
  74. ${{ runner.os }}-
  75. - name: Get yarn cache directory path
  76. if: ${{ steps.check-build.outputs.build == 'strawberry' }}
  77. id: yarn-cache-dir-path
  78. run: echo "::set-output name=dir::$(yarn cache dir)"
  79. - uses: actions/cache@v3
  80. if: ${{ steps.check-build.outputs.build == 'strawberry' }}
  81. id: yarn-cache
  82. with:
  83. path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
  84. key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
  85. restore-keys: |
  86. ${{ runner.os }}-yarn-
  87. - name: Install Dependencies
  88. if: ${{ steps.check-build.outputs.build == 'strawberry' }}
  89. run: bash ${GITHUB_WORKSPACE}/.github/helper/install_dependencies.sh
  90. env:
  91. BEFORE: ${{ env.GITHUB_EVENT_PATH.before }}
  92. AFTER: ${{ env.GITHUB_EVENT_PATH.after }}
  93. TYPE: server
  94. - name: Install
  95. if: ${{ steps.check-build.outputs.build == 'strawberry' }}
  96. run: bash ${GITHUB_WORKSPACE}/.github/helper/install.sh
  97. env:
  98. DB: mariadb
  99. TYPE: server
  100. - name: Run Tests
  101. if: ${{ steps.check-build.outputs.build == 'strawberry' }}
  102. run: cd ~/frappe-bench/ && bench --site test_site run-parallel-tests --use-orchestrator --with-coverage
  103. env:
  104. CI_BUILD_ID: ${{ github.run_id }}
  105. ORCHESTRATOR_URL: http://test-orchestrator.frappe.io
  106. - name: Upload coverage data
  107. if: ${{ steps.check-build.outputs.build == 'strawberry' }}
  108. uses: codecov/codecov-action@v3
  109. with:
  110. name: MariaDB
  111. fail_ci_if_error: true
  112. files: /home/runner/frappe-bench/sites/coverage.xml
  113. verbose: true
  114. flags: server