Revert "Split report assertions attachment." #2838
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: PR Tests | |
| on: [pull_request] | |
| jobs: | |
| is_source_changed: | |
| name: Check if sources has changed | |
| runs-on: ubuntu-22.04 | |
| outputs: | |
| is_source_changed: ${{steps.check_source_change.outputs.changed}} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Check if any source changed | |
| id: check_source_change | |
| uses: ./.github/actions/files-changed | |
| with: | |
| paths: | | |
| .github/* | |
| examples/* | |
| testplan/* | |
| tests/* | |
| scripts/* | |
| pytest.ini | |
| pyproject.toml | |
| setup.py | |
| requirements.txt | |
| success: | |
| name: PR Test Completed | |
| needs: [is_source_changed, test] | |
| runs-on: ubuntu-22.04 | |
| if: always() && needs.is_source_changed.result == 'success' && (needs.is_source_changed.outputs.is_source_changed == 'false' || needs.Test.result == 'success') | |
| steps: | |
| - run: echo ${{needs.is_source_changed.result}} ${{needs.is_source_changed.outputs.is_source_changed}} ${{needs.Test.result}} | |
| - run: true | |
| lint_python: | |
| name: Run lint on python code | |
| needs: [is_source_changed] | |
| runs-on: ubuntu-22.04 | |
| if: needs.is_source_changed.outputs.is_source_changed == 'true' | |
| env: | |
| LINT_PYTHON_VERSION: "3.10" | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 | |
| - name: Set up uv & Python | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| enable-cache: true | |
| cache-dependency-glob: "**/pyproject.toml" | |
| python-version: ${{ env.LINT_PYTHON_VERSION }} | |
| - name: Setup | |
| run: | | |
| sudo apt-get install -y libkrb5-dev | |
| uv pip install . --group dev -c constraints.txt | |
| - name: Lint | |
| run: doit lint | |
| build_ui: | |
| name: Build UI (with test and lint) | |
| needs: [is_source_changed] | |
| runs-on: ubuntu-22.04 | |
| if: needs.is_source_changed.outputs.is_source_changed == 'true' | |
| env: | |
| REACT_APP_API_BASE_URL: "/fake/api/endpoint" | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 | |
| - name: Set up uv & Python | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| enable-cache: true | |
| cache-dependency-glob: "**/pyproject.toml" | |
| python-version: '3.11' | |
| - name: Set up Node | |
| uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 | |
| with: | |
| node-version: 20 | |
| - name: Set up PNPM | |
| uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2 # v4.0.0 | |
| with: | |
| version: 9 | |
| - name: Setup | |
| run: uv pip install doit | |
| - name: Build | |
| run: | | |
| doit lint_ui | |
| CI=false doit build_ui | |
| doit test_ui | |
| - name: Archive ui artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ui_bundle | |
| path: testplan/web_ui/testing/build | |
| retention-days: 1 | |
| test: | |
| name: Test | |
| needs: [lint_python, build_ui] | |
| runs-on: ${{ matrix.os }} | |
| env: | |
| CI: "" | |
| strategy: | |
| matrix: | |
| os: [ubuntu-22.04, windows-latest] | |
| python-version: ['3.9', '3.10', '3.11', '3.12'] | |
| package-extras: ['', '[all]'] | |
| exclude: | |
| - os: windows-latest | |
| package-extras: '' | |
| - os: ubuntu-22.04 | |
| python-version: '3.10' | |
| package-extras: '[all]' | |
| - os: ubuntu-22.04 | |
| python-version: '3.11' | |
| package-extras: '[all]' | |
| fail-fast: false | |
| steps: | |
| - run: echo "BUILD ${{ matrix.os }} ${{ matrix.python-version }} ${{needs.is_source_changed.outputs.is_source_changed}}" | |
| - name: Checkout repository | |
| uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 | |
| - name: Set up uv & Python | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| enable-cache: true | |
| cache-dependency-glob: "**/pyproject.toml" | |
| python-version: ${{ matrix.python-version }} | |
| - name: Download ui bundle | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: ui_bundle | |
| path: testplan/web_ui/testing/build | |
| - name: Set up Linux package for tests | |
| if: ${{ matrix.os == 'ubuntu-22.04' }} | |
| run: sudo apt-get install -y libkrb5-dev | |
| - name: Set up Zookeeper for tests | |
| if: ${{ matrix.os == 'ubuntu-22.04' }} | |
| run: sudo apt-get -y install zookeeper zookeeper-bin zookeeperd | |
| - name: Set up Kafka for tests | |
| if: ${{ matrix.os == 'ubuntu-22.04' }} | |
| run: | | |
| wget https://dlcdn.apache.org/kafka/3.9.0/kafka_2.13-3.9.0.tgz -O kafka.tgz | |
| sudo mkdir /opt/kafka | |
| sudo chown -R $USER:$USER /opt/kafka | |
| tar zxf kafka.tgz -C /opt/kafka --strip-components 1 | |
| - name: Install Python dependencies | |
| run: uv pip install .${{ matrix.package-extras }} --group test -c constraints.txt | |
| - name: Test Python | |
| run: doit test |