File: tests.yaml

package info (click to toggle)
rasterio 1.5.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 22,744 kB
  • sloc: python: 23,119; sh: 947; makefile: 275; xml: 29
file content (147 lines) | stat: -rw-r--r-- 4,138 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
name: Tests

on:
  push:
    branches: [ main, maint-1.4 ]
    paths:
      - '.github/workflows/tests.yaml'
      - 'requirements*.txt'
      - 'setup.py'
      - 'setup.cfg'
      - 'MANIFEST.in'
      - 'pyproject.toml'
      - 'scripts/**'
      - 'rasterio/**'
      - 'tests/**'
  pull_request:
    branches: [ main, maint-1.4 ]
    paths:
      - '.github/workflows/tests.yaml'
      - 'requirements*.txt'
      - 'setup.py'
      - 'setup.cfg'
      - 'MANIFEST.in'
      - 'pyproject.toml'
      - 'scripts/**'
      - 'rasterio/**'
      - 'tests/**'
  schedule:
    - cron:  '0 0 * * 0'

jobs:
  linting:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - uses: actions/setup-python@v6
        with:
            python-version: 3.12
      - name: Code Linting
        shell: bash
        run: |
          python -m pip install pre-commit
          pre-commit run --show-diff-on-failure --all-files


  docker_tests:
    needs: linting
    runs-on: ubuntu-latest
    name: Docker | GDAL=${{ matrix.gdal-version }} | python=${{ matrix.python-version }}
    container: ghcr.io/osgeo/gdal:ubuntu-small-${{ matrix.gdal-version }}
    env:
        DEBIAN_FRONTEND: noninteractive
    strategy:
      fail-fast: false
      matrix:
        python-version: ['3.12', '3.13', '3.14']
        gdal-version: ['3.12.1']
        include:
          - python-version: '3.14'
            gdal-version: 'latest'
          - python-version: '3.12'
            gdal-version: '3.11.5'
          - python-version: '3.12'
            gdal-version: '3.10.3'
          - python-version: '3.12'
            gdal-version: '3.9.3'
          - python-version: '3.12'
            gdal-version: '3.8.5'

    steps:
      - uses: actions/checkout@v6

      - name: Update
        run: |
          apt-get update
          apt-get -y install software-properties-common
          add-apt-repository -y ppa:deadsnakes/ppa
          apt-get update

      - name: Set up Python ${{ matrix.python-version }}
        run: |
          apt-get install -y --no-install-recommends \
            python${{ matrix.python-version }} \
            python${{ matrix.python-version }}-dev \
            python${{ matrix.python-version }}-venv \
            python3-pip \
            g++

      - name: Install dependencies
        run: |
          python${{ matrix.python-version }} -m venv testenv
          . testenv/bin/activate
          python -m pip install --upgrade pip
          python -m pip install --no-deps --force-reinstall -e .[test]

      - name: run tests
        run: |
          . testenv/bin/activate
          python -m pip install -r requirements-dev.txt
          python -m pytest -v -m "not wheel" -rxXs --cov rasterio --cov-report term-missing

  conda_test:
    needs: linting
    name: Conda | ${{ matrix.os }} | python=${{ matrix.python-version }}
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: true
      matrix:
        # macos-15-intel is OSX Intel
        # macos-14 is OSX Arm64
        os: [macos-15-intel, macos-14, windows-latest]
        python-version: ['3.12', '3.13', '3.14']
        include:
          - os: ubuntu-latest
            python-version: '*'

    steps:
      - uses: actions/checkout@v6

      - name: Setup Conda
        uses: mamba-org/setup-micromamba@v2
        with:
          init-shell: bash
          environment-name: test
          create-args: >-
            python=${{ matrix.python-version }}
            libgdal
            geos
            cython=3
            numpy

      - name: Install Env
        shell: bash -l {0}
        run: |
          micromamba run -n test python -m pip install -e . || micromamba run -n test python -m pip install -e .
          micromamba run -n test python -m pip install -r requirements-dev.txt

      - name: Check and Log Environment
        shell: bash -l {0}
        run: |
          micromamba run -n test python -V
          micromamba info

      - name: Test with Coverage
        shell: bash -l {0}
        run: |
          micromamba run python -m pytest -v -m "not wheel" -rxXs --cov rasterio --cov-report term-missing