131 lines
4.3 KiB
YAML
131 lines
4.3 KiB
YAML
name: CI for debye_bec
|
|
on:
|
|
push:
|
|
pull_request:
|
|
workflow_dispatch:
|
|
inputs:
|
|
BEC_WIDGETS_BRANCH:
|
|
description: "Branch of BEC Widgets to install"
|
|
required: false
|
|
type: string
|
|
default: "main"
|
|
BEC_CORE_BRANCH:
|
|
description: "Branch of BEC Core to install"
|
|
required: false
|
|
type: string
|
|
default: "main"
|
|
OPHYD_DEVICES_BRANCH:
|
|
description: "Branch of Ophyd Devices to install"
|
|
required: false
|
|
type: string
|
|
default: "main"
|
|
BEC_PLUGIN_REPO_BRANCH:
|
|
description: "Branch of the BEC Plugin Repository to install"
|
|
required: false
|
|
type: string
|
|
default: "main"
|
|
PYTHON_VERSION:
|
|
description: "Python version to use"
|
|
required: false
|
|
type: string
|
|
default: "3.11"
|
|
|
|
permissions:
|
|
pull-requests: write
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
QTWEBENGINE_DISABLE_SANDBOX: 1
|
|
QT_QPA_PLATFORM: "offscreen"
|
|
steps:
|
|
- name: Checkout this shared action repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: bec/bec_shared_actions
|
|
ref: main
|
|
path: bec_shared_actions
|
|
|
|
- name: Run shared CI action
|
|
uses: ./bec_shared_actions
|
|
continue-on-error: true
|
|
with:
|
|
BEC_WIDGETS_BRANCH: "${{ inputs.BEC_WIDGETS_BRANCH }}"
|
|
BEC_CORE_BRANCH: "${{ inputs.BEC_CORE_BRANCH }}"
|
|
OPHYD_DEVICES_BRANCH: "${{ inputs.OPHYD_DEVICES_BRANCH }}"
|
|
BEC_PLUGIN_REPO_BRANCH: "${{ inputs.BEC_PLUGIN_REPO_BRANCH }}"
|
|
BEC_PLUGIN_REPO_URL: "https://gitea.psi.ch/bec/debye_bec.git"
|
|
PYTHON_VERSION: "${{ inputs.PYTHON_VERSION }}"
|
|
APT_PACKAGES: "libgl1 libegl1 x11-utils libxkbcommon-x11-0 libdbus-1-3 xvfb libnss3 libxdamage1 libasound2t64 libatomic1 libxcursor1"
|
|
|
|
- name: Checkout BEC Plugin Repository
|
|
run: |
|
|
chmod +x ./bec_shared_actions/give_runs_log.sh
|
|
./bec_shared_actions/give_runs_log.sh "outputs/checkout.log"
|
|
|
|
# with:
|
|
# ref: "${{ github.head_ref || github.sha }}"
|
|
# - name: Checkout test-ci repo
|
|
# uses: actions/checkout@v4
|
|
# with:
|
|
# repository: tligui_y/test-ci
|
|
# ref: main
|
|
# path: test-ci
|
|
|
|
# steps:
|
|
# - name: Setup Python
|
|
# uses: actions/setup-python@v5
|
|
# with:
|
|
# python-version: "${{ inputs.PYTHON_VERSION || '3.11' }}"
|
|
|
|
# - name: Checkout BEC Core
|
|
# uses: actions/checkout@v4
|
|
# with:
|
|
# repository: bec/bec
|
|
# ref: "${{ inputs.BEC_CORE_BRANCH || 'main' }}"
|
|
# path: ./bec
|
|
|
|
# - name: Checkout Ophyd Devices
|
|
# uses: actions/checkout@v4
|
|
# with:
|
|
# repository: bec/ophyd_devices
|
|
# ref: "${{ inputs.OPHYD_DEVICES_BRANCH || 'main' }}"
|
|
# path: ./ophyd_devices
|
|
|
|
# - name: Checkout BEC Widgets
|
|
# uses: actions/checkout@v4
|
|
# with:
|
|
# repository: bec/bec_widgets
|
|
# ref: "${{ inputs.BEC_WIDGETS_BRANCH || 'main' }}"
|
|
# path: ./bec_widgets
|
|
|
|
# - name: Checkout BEC Plugin Repository
|
|
# uses: actions/checkout@v4
|
|
# with:
|
|
# repository: bec/debye_bec
|
|
# ref: "${{ inputs.BEC_PLUGIN_REPO_BRANCH || github.head_ref || github.sha }}"
|
|
# path: ./debye_bec
|
|
|
|
# - name: Install dependencies
|
|
# shell: bash
|
|
# run: |
|
|
# sudo apt-get update
|
|
# sudo apt-get install -y libgl1 libegl1 x11-utils libxkbcommon-x11-0 libdbus-1-3 xvfb
|
|
# sudo apt-get -y install libnss3 libxdamage1 libasound2t64 libatomic1 libxcursor1
|
|
|
|
# - name: Install Python dependencies
|
|
# shell: bash
|
|
# run: |
|
|
# pip install uv
|
|
# uv pip install --system -e ./ophyd_devices
|
|
# uv pip install --system -e ./bec/bec_lib[dev]
|
|
# uv pip install --system -e ./bec/bec_ipython_client
|
|
# uv pip install --system -e ./bec/bec_server[dev]
|
|
# uv pip install --system -e ./bec_widgets[dev,pyside6]
|
|
# uv pip install --system -e ./debye_bec
|
|
|
|
# - name: Run Pytest with Coverage
|
|
# id: coverage
|
|
# run: pytest --random-order --cov=./debye_bec --cov-config=./debye_bec/pyproject.toml --cov-branch --cov-report=xml --no-cov-on-fail ./debye_bec/tests/ || test $? -eq 5
|