name: Recommender canary # QW8: PR/deploy installs pin expert_op4grid_recommender (recommender-pin.txt). # This weekly canary floats to the LATEST release and runs the backend suite, # so a breaking upstream release surfaces here (a red canary = "bump the pin # after checking") instead of turning an unrelated PR red or shipping a # regressed image on a zero-change rebuild. on: schedule: - cron: '0 6 * * 1' # Mondays 06:00 UTC workflow_dispatch: {} jobs: canary: name: Backend tests against latest recommender runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Python 3.10 uses: actions/setup-python@v5 with: python-version: "3.10" cache: 'pip' - name: Install dependencies (float recommender to latest) run: | python -m pip install --upgrade pip pip install ".[test]" # Deliberately NOT pinned: resolve the newest published release. pip install --no-deps --no-cache-dir --upgrade "expert_op4grid_recommender" - name: Show resolved recommender version run: pip show expert_op4grid_recommender | grep -i version - name: Run backend Pytest (excluding graphviz-dependent tests) run: pytest --ignore=expert_backend/tests/test_overflow_html_dim_logic.py