Skip to content

fix: stabilize cross-platform CI and SSH timeout cleanup #12

fix: stabilize cross-platform CI and SSH timeout cleanup

fix: stabilize cross-platform CI and SSH timeout cleanup #12

Workflow file for this run

name: CI
on:
push:
pull_request:
permissions:
contents: read
jobs:
test:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python: ["3.10", "3.11", "3.12"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
with:
python-version: ${{ matrix.python }}
cache: pip
- if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y bubblewrap
sudo chmod u+s "$(command -v bwrap)"
- run: python -m pip install --upgrade pip
- run: python -m pip install -r requirements-dev.txt
- run: python -m pip check
- run: python -m pytest -q --tb=short
- run: python -m ruff check .
- run: python -m mypy paperforge
- if: matrix.python == '3.11'
run: python -m pip install build==1.2.2.post1
- if: matrix.python == '3.11'
run: python -m build
- if: matrix.python == '3.11'
run: python tools/verify_wheel.py dist/paperforge_research_os-3.0.0-py3-none-any.whl
real-compute-integration:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
with:
python-version: "3.11"
cache: pip
- run: python -m pip install -r requirements-dev.txt
- run: sudo tools/setup_linux_compute_gate.sh
- env:
PAPERFORGE_REAL_DOCKER: "1"
PAPERFORGE_REAL_SSH: "1"
PAPERFORGE_REAL_SLURM: "1"
PAPERFORGE_SLURM_IMAGE: /tmp/paperforge-python.sif
PAPERFORGE_REAL_KUBERNETES: "1"
PAPERFORGE_KUBECTL: /usr/local/bin/kubectl
PAPERFORGE_KUBERNETES_CONTEXT: kind-paperforge-v3
PAPERFORGE_KUBERNETES_NAMESPACE: paperforge-v3
run: python -m pytest -q --tb=short tests/integration/test_real_compute_backends.py
- if: always()
run: |
kind delete cluster --name paperforge-v3 || true
sudo rm -f /tmp/paperforge-python.sif