name: Run Pytest with Coverage on: workflow_call: inputs: BEC_CORE_BRANCH: description: 'Branch for BEC Core' required: false default: 'main' type: string OPHYD_DEVICES_BRANCH: description: 'Branch for Ophyd Devices' required: false default: 'main' type: string BEC_WIDGETS_BRANCH: description: 'Branch for BEC Widgets' required: false default: 'main' type: string jobs: bec: name: BEC Unit Tests runs-on: ubuntu-latest defaults: run: shell: bash -el {0} steps: - name: Checkout BEC uses: actions/checkout@v4 with: repository: bec-project/bec ref: ${{ inputs.BEC_CORE_BRANCH }} - name: Install BEC and dependencies uses: ./.github/actions/bec_install with: BEC_CORE_BRANCH: ${{ inputs.BEC_CORE_BRANCH }} OPHYD_DEVICES_BRANCH: ${{ inputs.OPHYD_DEVICES_BRANCH }} PYTHON_VERSION: '3.11' - name: Run Pytest run: | cd ./bec pip install pytest pytest-random-order pytest -v --maxfail=2 --junitxml=report.xml --random-order ./bec_server/tests ./bec_ipython_client/tests/client_tests ./bec_lib/tests bec-e2e-test: name: BEC End2End Tests runs-on: ubuntu-latest steps: - name: Checkout BEC uses: actions/checkout@v4 with: repository: bec-project/bec ref: ${{ inputs.BEC_CORE_BRANCH }} - name: Run E2E Tests uses: ./.github/actions/bec_e2e_install with: BEC_CORE_BRANCH: ${{ inputs.BEC_CORE_BRANCH }} OPHYD_DEVICES_BRANCH: ${{ inputs.OPHYD_DEVICES_BRANCH }} BEC_WIDGETS_BRANCH: ${{ inputs.BEC_WIDGETS_BRANCH }} PYTHON_VERSION: '3.11'