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@v6 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@v6 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"