diff --git a/.github/workflows/child_repos.yml b/.github/workflows/child_repos.yml new file mode 100644 index 0000000..21cf472 --- /dev/null +++ b/.github/workflows/child_repos.yml @@ -0,0 +1,40 @@ +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 + + +jobs: + bec: + 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: | + 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 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index afb3742..4077b49 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,4 +41,12 @@ jobs: uses: ./.github/workflows/pytest-matrix.yml with: BEC_CORE_BRANCH: ${{ inputs.BEC_CORE_BRANCH || 'main' }} - OPHYD_DEVICES_BRANCH: ${{ inputs.OPHYD_DEVICES_BRANCH || github.head_ref || github.sha}} \ No newline at end of file + OPHYD_DEVICES_BRANCH: ${{ inputs.OPHYD_DEVICES_BRANCH || github.head_ref || github.sha}} + + child-repos: + needs: [check_pr_status, formatter] + if: needs.check_pr_status.outputs.branch-pr == '' + uses: ./.github/workflows/child_repos.yml + with: + BEC_CORE_BRANCH: ${{ inputs.BEC_CORE_BRANCH || github.head_ref || github.sha}} + OPHYD_DEVICES_BRANCH: ${{ inputs.OPHYD_DEVICES_BRANCH || 'main' }} \ No newline at end of file