Skip to content

Fixing missing factory method #60

Fixing missing factory method

Fixing missing factory method #60

Workflow file for this run

name: Unit Tests
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
# pydantic-version: ["<2.0.0", ">=2.0.0"]
# exclude:
# - python-version: "3.9"
# pydantic-version: "<2.0.0"
# - python-version: "3.11"
# pydantic-version: "<2.0.0"
# - python-version: "3.12"
# pydantic-version: "<2.0.0"
fail-fast: false
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Fetch tags
run: git fetch --tags --prune --unshallow
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- uses: shogo82148/actions-setup-redis@v1
with:
redis-version: "7.x"
- name: Install dependencies
run: |
# sudo apt install redis
# Start LDAP
bash continuous_integration/scripts/start_LDAP.sh
# These packages are installed in the base environment but may be older
# versions. Explicitly upgrade them because they often create
# installation problems if out of date.
python -m pip install --upgrade pip setuptools numpy
pushd ..
git clone https://github.com/bluesky/bluesky-queueserver.git
cd bluesky-queueserver
pip install .
popd
pushd ..
git clone https://github.com/bluesky/bluesky-queueserver-api.git
cd bluesky-queueserver-api
pip install .
popd
pip install --upgrade "git+https://github.com/davidpcls/bluesky-authentication.git@main"
pip install --upgrade pip
pip install .
pip install -r requirements-dev.txt
# pip install "pydantic${{ matrix.pydantic-version }}"
# pip install bluesky==1.11.0
pip list
- name: Test with pytest
env:
PYTEST_ADDOPTS: "--durations=20"
run: |
coverage run -m pytest -vv
coverage report -m
- name: Dump LDAP diagnostics on failure
if: failure()
run: |
docker ps
docker compose -f continuous_integration/docker-configs/ldap-docker-compose.yml ps
LDAP_CONTAINER_ID=$(docker compose -f continuous_integration/docker-configs/ldap-docker-compose.yml ps -q openldap | tr -d '[:space:]')
if [ -n "$LDAP_CONTAINER_ID" ]; then
docker logs --tail 200 "$LDAP_CONTAINER_ID"
else
docker compose -f continuous_integration/docker-configs/ldap-docker-compose.yml logs --tail 200 openldap
fi