Run Tests #215
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: Run Tests | |
on: | |
push: | |
branches: [master, develop] | |
pull_request: | |
branches: [master, develop] | |
schedule: | |
- cron: "0 7 * * 1" | |
workflow_dispatch: | |
jobs: | |
lint: | |
name: Linting (pre-commit) | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the repo | |
uses: actions/checkout@v2 | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: "3.8" | |
- name: Run pre-commit action | |
uses: pre-commit/[email protected] | |
tests: | |
name: Test it! | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
python-version: [3.8, "3.12"] | |
os: [ubuntu-latest, windows-latest] | |
steps: | |
- name: Checkout the repo | |
uses: actions/checkout@v2 | |
- name: Set up Python ${{ matrix.python-version }} on ${{ matrix.os }} | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Update pip | |
run: python -m pip install --upgrade pip | |
- name: Get pip cache dir | |
id: pip-cache | |
run: | | |
echo "::set-output name=dir::$(pip cache dir)" | |
- name: Get current week number | |
id: get-week | |
shell: bash | |
run: echo "::set-output name=week::$(date +'%V')" | |
- name: Pip cache | |
uses: actions/cache@v2 | |
with: | |
path: ${{ steps.pip-cache.outputs.dir }} | |
key: ${{ runner.os }}-pip-${{ matrix.python-version }}-${{ steps.get-week.outputs.week }}-${{ hashFiles('setup.py') }} | |
- name: Install from eodag develop branch | |
run: pip install git+https://github.com/CS-SI/eodag.git@develop | |
- name: Install other deps | |
run: python -m pip install .[dev] | |
- name: Test with pytest | |
run: pytest --show-capture=no --cov --cov-fail-under=50 | |
check-pypi: | |
name: Long description check for PyPI | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the repo | |
uses: actions/checkout@v2 | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: "3.8" | |
- name: Update pip | |
run: python -m pip install --upgrade pip | |
- name: Get pip cache dir | |
id: pip-cache | |
run: | | |
echo "::set-output name=dir::$(pip cache dir)" | |
- name: Get current week number | |
id: get-week | |
shell: bash | |
run: echo "::set-output name=week::$(date +'%V')" | |
- name: Pip cache | |
uses: actions/cache@v2 | |
with: | |
path: ${{ steps.pip-cache.outputs.dir }} | |
key: ${{ runner.os }}-pip-${{ steps.get-week.outputs.week }}-${{ hashFiles('setup.py') }} | |
- name: Install tox and sphinx (to have rst2html.py utility available) | |
run: | | |
python -m pip install tox sphinx | |
- name: Testing with tox | |
run: python -m tox -e pypi |