29 process clipping of sentinel tiles on monthly basis #261
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
pull_request: | |
push: | |
branches: ["main"] | |
tags: ["*"] | |
workflow_dispatch: | |
jobs: | |
lint: | |
name: linting | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: prepare python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
cache: pip | |
- name: run linting | |
run: | | |
python -Im pip install tox tox-ignore-env-name-mismatch | |
python -Im tox run -e lint | |
test: | |
name: testing on ${{ matrix.os }} - ${{ matrix.python-version }} | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
- windows-latest | |
python-version: | |
- "3.10" | |
- "3.11" | |
- "3.12" | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: prepare python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: pip | |
- name: prepare tox | |
shell: bash | |
run: | | |
PYTHON_VERSION=${{ matrix.python-version }} | |
PYTHON_VERSION=py${PYTHON_VERSION//./} | |
echo TOX_PYTHON=$PYTHON_VERSION >>$GITHUB_ENV | |
python -Im pip install tox tox-ignore-env-name-mismatch | |
- name: run tox | |
run: python -Im tox run -e ${{ env.TOX_PYTHON }}-test | |
- name: store artefacts | |
uses: actions/upload-artifact@v4 | |
if: matrix.os == 'ubuntu-latest' | |
with: | |
name: coverage-data-${{ matrix.python-version }} | |
path: .coverage.* | |
if-no-files-found: ignore | |
overwrite: true | |
include-hidden-files: true | |
coverage: | |
name: combining test coverages | |
runs-on: ubuntu-latest | |
needs: test | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: prepare python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
cache: pip | |
- name: load artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
pattern: coverage-data-* | |
merge-multiple: true | |
- name: run coverage reporting | |
run: | | |
python -Im pip install coverage[toml] | |
python -Im coverage combine | |
python -Im coverage report --format=markdown >> $GITHUB_STEP_SUMMARY | |
docs: | |
name: build documentation | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: prepare python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
cache: pip | |
- name: run docs building | |
run: | | |
python -Im pip install tox tox-ignore-env-name-mismatch | |
python -Im tox run -e docs | |
# ensure everything required passed | |
required-checks-pass: | |
if: always() | |
needs: | |
- lint | |
- coverage | |
- docs | |
runs-on: ubuntu-latest | |
steps: | |
- name: check CI success or failure | |
uses: re-actors/alls-green@release/v1 | |
with: | |
jobs: ${{ toJSON(needs) }} |