Fixing missing factory method #60
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |