name: Test & Docs on: push: branches: [master] pull_request: path: - umap/* - pyproject.toml jobs: tests: timeout-minutes: 60 runs-on: ubuntu-latest services: postgres: image: postgis/postgis:14-3.4 ports: - 5432:5432 env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: postgres options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 redis: image: redis options: --health-cmd "redis-cli ping" --health-interval 10s --health-timeout 5s --health-retries 5 ports: - 6379:6379 strategy: fail-fast: false matrix: python-version: ['3.10', '3.12'] database: [postgresql] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} cache: 'pip' cache-dependency-path: '**/pyproject.toml' - name: Install dependencies run: | sudo apt update sudo apt install libgdal-dev python -m pip install --upgrade pip make develop npm install mocha - name: run tests run: make test env: DJANGO_SETTINGS_MODULE: 'umap.tests.settings' UMAP_SETTINGS: 'umap/tests/settings.py' PLAYWRIGHT_TIMEOUT: '20000' REDIS_HOST: localhost REDIS_PORT: 6379 lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.12' - name: Install dependencies run: | python3 -m pip install -e .[test,dev] make installjs - name: Run Lint run: make lint - name: Run Docs run: make docs