Просмотр исходного кода

Merge pull request #641 from Avaiga/feature/segregate-core-tests

Feature/segregate core tests
João André 1 год назад
Родитель
Сommit
7f83f52e43
2 измененных файлов с 66 добавлено и 15 удалено
  1. 65 11
      .github/workflows/overall-tests.yml
  2. 1 4
      .github/workflows/partial-tests.yml

+ 65 - 11
.github/workflows/overall-tests.yml

@@ -1,12 +1,17 @@
 name: Overall Test Workflow
 
 on:
-  pull_request_review:
-    types: [submitted]
+  push:
+    branches: [ develop, dev/*, release/* ]
+  pull_request:
+    branches: [ develop, dev/*, release/* ]
 
 jobs:
-  tests:
-    if: github.event.review.state == 'approved'
+  partial-tests:
+    uses: ./.github/workflows/partial-tests.yml
+
+  overall-tests:
+    needs: [partial-tests]
     timeout-minutes: 40
     strategy:
       fail-fast: false
@@ -50,10 +55,59 @@ jobs:
           pytest-xml-coverage-path: ./overall-coverage.xml
           title: Taipy Overall Coverage Report
 
-      - name: Notify user if failed
-        if: failure() && github.event_name == 'workflow_dispatch'
-        run: |
-          if [[ -n "${{ github.event.inputs.user-to-notify }}" ]]; then
-            curl "${{ secrets.notify_endpoint }}" -d '{"username": "${{ github.event.inputs.user-to-notify }}", "url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" }' -H "Content-Type: application/json"
-          fi
-        shell: bash
+  submit_tests:
+    needs: [partial-tests]
+    timeout-minutes: 20
+    strategy:
+      fail-fast: false
+      matrix:
+        python-version: ['3.8', '3.9', '3.10', '3.11']
+        os: [ubuntu-latest, windows-latest, macos-latest]
+    runs-on: ${{ matrix.os }}
+    steps:
+      - uses: actions/checkout@v4
+      - uses: actions/setup-python@v5
+        with:
+          python-version: ${{matrix.python-version}}
+
+      - name: Install pipenv
+        run: curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | python
+
+      - name: Install Dependencies
+        run: pipenv install --dev --python=${{ matrix.python-version }}
+
+      - name: Setup LibMagic (MacOS)
+        if: matrix.os == 'macos-latest'
+        run: brew install libmagic
+
+      - name: Pytest Core orchestrator_dispatcher
+        run: pipenv run pytest -m "orchestrator_dispatcher" tests/core
+
+  standalone_tests:
+    needs: [partial-tests]
+    timeout-minutes: 20
+    strategy:
+      fail-fast: false
+      matrix:
+        python-version: ['3.8', '3.9', '3.10', '3.11']
+        os: [ubuntu-latest, windows-latest, macos-latest]
+    runs-on: ${{ matrix.os }}
+    steps:
+      - uses: actions/checkout@v4
+
+      - uses: actions/setup-python@v5
+        with:
+          python-version: ${{matrix.python-version}}
+
+      - name: Install pipenv
+        run: curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | python
+
+      - name: Install Dependencies
+        run: pipenv install --dev --python=${{ matrix.python-version }}
+
+      - name: Setup LibMagic (MacOS)
+        if: matrix.os == 'macos-latest'
+        run: brew install libmagic
+
+      - name: Pytest Core standalone
+        run: pipenv run pytest -m "standalone" tests/core

+ 1 - 4
.github/workflows/partial-tests.yml

@@ -1,10 +1,7 @@
 name: Partial Tests Workflow
 
 on:
-  push:
-    branches: [ develop, dev/*, release/* ]
-  pull_request:
-    branches: [ develop, dev/*, release/* ]
+  workflow_call:
 
 jobs:
   linter: