Skip to content

Testplan result importer to best effort fix attachment path #2479

Testplan result importer to best effort fix attachment path

Testplan result importer to best effort fix attachment path #2479

Workflow file for this run

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/*
releaseherald/releaseherald/*
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:
BLACK_VERSION: "22.10.0"
LINT_PYTHON_VERSION: "3.7"
steps:
- name: Checkout repository
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Set up Python ${{ env.LINT_PYTHON_VERSION }}
uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0
with:
python-version: ${{ env.LINT_PYTHON_VERSION }}
- name: Restore pip cache
uses: ./.github/actions/pip-cache
- name: Setup
run: |
pip install -r requirements.txt -U
- 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 Python
uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0
with:
python-version: 3.11
- name: Set up Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version: "16.x"
- name: Restore pip cache
uses: ./.github/actions/pip-cache
- name: Set up PNPM
uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2 # v4.0.0
with:
version: 8.10.4
- name: Setup
run: |
pip install -r requirements-build.txt -U
- name: Build
run: |
doit lint_ui
CI=false doit build_ui
doit test_ui
- name: Archive ui artifacts
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
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.7, 3.8, '3.10', 3.11]
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 Python ${{ matrix.python-version }}
uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0
with:
python-version: ${{ matrix.python-version }}
- name: Restore pip cache
uses: ./.github/actions/pip-cache
- name: Download ui bundle
uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
with:
name: ui_bundle
path: testplan/web_ui/testing/build
- 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://archive.apache.org/dist/kafka/3.5.2/kafka_2.13-3.5.2.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 dependencies
run: pip install -r requirements.txt -U
- name: Test Python
run: doit test