Skip to content

Merge pull request #190 from Ouranosinc/scorecard-update #1035

Merge pull request #190 from Ouranosinc/scorecard-update

Merge pull request #190 from Ouranosinc/scorecard-update #1035

Workflow file for this run

name: miranda Testing Suite
on:
push:
branches:
- main
paths-ignore:
- .cruft.json
- CHANGES.rst
- README.rst
- pyproject.toml
- tests/test_miranda.py
- miranda/__init__.py
pull_request:
concurrency:
# For a given workflow, if we push to the same branch, cancel all previous builds on that branch except on master.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
permissions:
contents: read
jobs:
lint_and_docs:
runs-on: ubuntu-latest
name: ${{ matrix.tox-env }}
strategy:
matrix:
tox-env:
- lint
- docs
python-version:
- "3.x"
steps:
- uses: actions/checkout@v4
- name: Set up Python${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install tox
run: |
python -m pip install tox
- name: Run lint and docs testing suite
run: |
python -m tox -e ${{ matrix.tox-env }}
env:
READTHEDOCS: 1
test-pypi:
name: Test with Python${{ matrix.python-version }} (Python${{ matrix.python-version }} + tox)
needs: lint_and_docs
runs-on: ubuntu-latest
strategy:
matrix:
include:
- tox-env: "py38-pyston"
python-version: "3.8"
- tox-env: "py39-full"
python-version: "3.9"
- tox-env: "py310"
python-version: "3.10"
- tox-env: "py311"
python-version: "3.11"
- tox-env: "py312"
python-version: "3.12"
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install GDAL
if: "endsWith(matrix.tox-env, '-full')"
run: |
sudo apt-get update
sudo apt-get install libgdal-dev
- name: Install tox
run: |
python -m pip install tox
- name: Test with tox
run: |
python -m tox -e ${{ matrix.tox-env }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COVERALLS_FLAG_NAME: run-${{ matrix.tox-env }}
COVERALLS_PARALLEL: true
COVERALLS_SERVICE_NAME: github
test-conda:
name: Test with Python${{ matrix.python-version }} (Anaconda)
needs: lint_and_docs
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]
defaults:
run:
shell: bash -l {0}
steps:
- name: Harden Runner
uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
with:
egress-policy: audit
- uses: actions/checkout@v4
- name: Setup Conda (Micromamba) with Python${{ matrix.python-version }}
uses: mamba-org/setup-micromamba@v1
with:
cache-downloads: true
environment-file: environment-dev.yml
create-args: >-
mamba
python=${{ matrix.python-version }}
- name: Conda and Mamba versions
run: |
mamba --version
echo "micromamba $(micromamba --version)"
- name: Install miranda
run: |
python -m pip install --no-deps .
- name: Check versions
run: |
conda list
python -m pip check || true
- name: Test with pytest
run: |
python -m pytest --cov miranda
- name: Report coverage
run: |
python -m coveralls
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COVERALLS_FLAG_NAME: run-Python${{ matrix.python-version }}-conda
COVERALLS_PARALLEL: true
COVERALLS_SERVICE_NAME: github
finish:
needs:
- test-pypi
- test-conda
runs-on: ubuntu-latest
container: python:3-slim
steps:
- name: Coveralls Finished
run: |
python -m pip install --upgrade coveralls
python -m coveralls --finish
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COVERALLS_SERVICE_NAME: github