Skip to content

CI

CI #818

Workflow file for this run

---
name: CI
on:
push:
branches: ["*"]
pull_request:
branches: ["*"]
schedule:
- cron: "0 8 * * 2"
jobs:
tests-linux:
name: "Tests on ${{ matrix.python-version }} on ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
timeout-minutes: 45
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
steps:
- uses: "actions/checkout@v3"
- uses: "actions/setup-python@v4"
with:
python-version: "${{ matrix.python-version }}"
cache: "pip"
cache-dependency-path: "requirements*.txt"
- name: "Install dependencies"
run: |
set -xe
python -VV
python -m site
python -m pip install --upgrade pip setuptools wheel
python -m pip install --upgrade coverage[toml] virtualenv tox tox-gh-actions
- name: "Run tox targets for ${{ matrix.python-version }}"
run: "python -m tox"
tests-windows:
name: "Tests on ${{ matrix.python-version }} on ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
timeout-minutes: 45
strategy:
fail-fast: false
matrix:
os: [windows-latest]
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
steps:
- uses: "actions/checkout@v3"
- uses: "actions/setup-python@v4"
with:
python-version: "${{ matrix.python-version }}"
cache: "pip"
cache-dependency-path: "requirements*.txt"
- name: "Install dependencies"
run: |
python -VV
python -m site
python -m pip install --upgrade pip setuptools wheel
python -m pip install --upgrade coverage[toml] virtualenv tox tox-gh-actions
- name: "Run tox targets for ${{ matrix.python-version }}"
run: "python -m tox"
tests-conda:
name: "Tests with conda (${{ matrix.python-version }} on ${{ matrix.os }})"
runs-on: ${{ matrix.os }}
timeout-minutes: 45
strategy:
fail-fast: false
matrix:
os: ["ubuntu-latest", "windows-latest"]
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
steps:
- uses: "actions/checkout@v3"
- uses: actions/cache@v3
env:
CACHE_NUMBER: 0
with:
path: |
~/conda_pkgs_dir
${{ env.CONDA }}/envs
key: ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-${{ hashFiles('requirements.txt') }}
- uses: conda-incubator/setup-miniconda@v2
with:
channels: conda-forge
allow-softlinks: true
channel-priority: flexible
auto-update-conda: true
python-version: ${{ matrix.python-version }}
activate-environment: pydov
- name: Install package dependencies with conda
shell: pwsh
run: |
conda update -n base -c defaults conda
conda install -n base conda-libmamba-solver
conda config --set solver libmamba
conda install --name pydov --file requirements.txt
conda install --name pydov fiona>=1.8.18 geopandas shapely
conda list
- name: Install proxy dependencies with pip
if: ${{ matrix.os == 'windows-latest' }}
shell: pwsh
run: |
pip install -r requirements_proxy.txt
conda list
- name: Install geom dependencies with pip
shell: pwsh
run: |
pip install -r requirements_geom.txt
conda list
- name: Install development dependencies with pip
shell: pwsh
run: |
pip install -r requirements_dev.txt
conda list
- name: Run unit tests
shell: pwsh
run: |
python -m pytest
update-data:
name: "Updated data on ${{ matrix.python-version }} on ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
timeout-minutes: 45
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
python-version: ["3.11"]
steps:
- uses: "actions/checkout@v3"
- uses: "actions/setup-python@v4"
with:
python-version: "${{ matrix.python-version }}"
cache: "pip"
cache-dependency-path: "requirements*.txt"
- name: "Install dependencies"
run: |
set -xe
python -VV
python -m site
python -m pip install --upgrade pip setuptools wheel
python -m pip install --upgrade coverage[toml] virtualenv tox tox-gh-actions
- name: "Run tox targets for ${{ matrix.python-version }}"
run: "python -m tox -e 'update-oefen, update-productie'"
flake8:
name: "Flake8 on ${{ matrix.python-version }} on ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
timeout-minutes: 45
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
python-version: ["3.11"]
steps:
- uses: "actions/checkout@v3"
- uses: "actions/setup-python@v4"
with:
python-version: "${{ matrix.python-version }}"
cache: "pip"
cache-dependency-path: "requirements*.txt"
- name: "Install dependencies"
run: |
set -xe
python -VV
python -m site
python -m pip install --upgrade pip setuptools wheel
python -m pip install --upgrade coverage[toml] virtualenv tox tox-gh-actions
- name: "Run tox targets for ${{ matrix.python-version }}"
run: "python -m tox -e 'flake8'"
docs:
name: "Docs on ${{ matrix.python-version }} on ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
timeout-minutes: 45
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
python-version: ["3.11"]
steps:
- uses: "actions/checkout@v3"
- uses: "actions/setup-python@v4"
with:
python-version: "${{ matrix.python-version }}"
cache: "pip"
cache-dependency-path: "requirements*.txt"
- name: "Install pandoc"
run: sudo apt install pandoc
- name: "Install dependencies"
run: |
set -xe
python -VV
python -m site
python -m pip install --upgrade pip setuptools wheel
python -m pip install --upgrade coverage[toml] virtualenv tox tox-gh-actions
- name: "Run tox targets for ${{ matrix.python-version }}"
run: "python -m tox -e 'docs'"