Skip to content

Create python-package.yml #10

Create python-package.yml

Create python-package.yml #10

# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
name: Python package
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install flake8 pytest setuptools
requirements_dev.txt ]; then pip install -r requirements_dev.txt
pip install -r requirements.txt
- name: Install eneric
run: |
pip install -e .[dev,test,docs,ci]
- name: Prepare data
run: |
export MPLBACKEND="AGG" # Non-interactive
# - mv tests/config.yaml config.yaml
# Download the Data for eniric and testing
download_eniric_data.sh # Some files from Dropbox
# Prepare atmosphere models
make atmos V=1
# - python scripts/split_atmmodel.py -b K H J Y Z TEST
# - python scripts/barycenter_broaden_atmmodel.py -b K H J Y Z TEST
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pytest --cov=eniric --cov-report term-missing --durations 5
coverage xml -i
- name: Test documentation
run: |
rstcheck -r docs
#- name: After Success
# run: |
# coveralls
# codeclimate-test-reporter
# python-codacy-coverage -r coverage.xml