Skip to content

try automatic testing with github actions #1

try automatic testing with github actions

try automatic testing with github actions #1

Workflow file for this run

name: Tests
on: [push, pull_request]
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
tests:
env:
ENV_NAME: smartva
PYTHON: ${{ matrix.python-version }}
OS: ${{ matrix.os }}
name: Testing
runs-on: ${{ matrix.os }}
defaults:
run:
# Adding -l {0} helps ensure conda can be found properly.
shell: bash -l {0}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ["3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@main
with:
fetch-depth: 0
- name: Setup Miniconda
uses: conda-incubator/setup-miniconda@v3
with:
miniforge-version: latest
python-version: ${{ env.PYTHON }}
environment-file: ${{ env.ENV_NAME }}.yaml
activate-environment: ${{ env.ENV_NAME }}
- name: Conda Info
run: |
conda info -a
conda list
PYVER=`python -c "import sys; print('{:d}.{:d}'.format(sys.version_info.major, sys.version_info.minor))"`
if [[ $PYVER != ${{ env.PYTHON }} ]]; then
exit 1;
fi
- name: Install
# calling git right before the install seems to prevent a time-out within setuptools_scm on MacOS
run: |
git describe --tags
git version
pip install --no-deps .
- name: Run Tests
run: |
python -m pytest --cov=smartva --cov-config=.coveragerc --cov-report xml:./coverage.xml
- name: check coverage report
run: |
ls
cat coverage.xml
# - uses: codecov/codecov-action@v3
# if: success()
# with:
# token: ${{ secrets.CODECOV_TOKEN }} #required
# files: ./coverage.xml #optional
# min_deps:
# env:
# ENV_NAME: min_deps
# PYTHON: "3.11"
# name: Min Deps Testing
# runs-on: ubuntu-latest
# strategy:
# fail-fast: false
# defaults:
# run:
# # Adding -l {0} helps ensure conda can be found properly.
# shell: bash -l {0}
# steps:
# - uses: actions/checkout@main
# with:
# fetch-depth: 0
# - name: Setup Miniconda
# uses: conda-incubator/setup-miniconda@v3
# with:
# miniforge-version: latest
# python-version: ${{ env.PYTHON }}
# environment-file: ci/${{ env.ENV_NAME }}.yaml
# activate-environment: ${{ env.ENV_NAME }}
# - name: Conda Info
# run: |
# conda info -a
# conda list
# PYVER=`python -c "import sys; print('{:d}.{:d}'.format(sys.version_info.major, sys.version_info.minor))"`
# if [[ $PYVER != ${{ env.PYTHON }} ]]; then
# exit 1;
# fi
# - name: Install
# run: |
# pip install --no-deps .
# - name: Run Tests
# run: |
# python -m pytest --cov=pyradiosky --cov-config=.coveragerc --cov-report xml:./coverage.xml
# - name: check coverage report
# run: |
# ls
# cat coverage.xml
# - uses: codecov/codecov-action@v3
# if: success()
# with:
# token: ${{secrets.CODECOV_TOKEN}} #required
# files: ./coverage.xml #optional
# min_versions:
# env:
# ENV_NAME: min_versions
# PYTHON: "3.10"
# name: Min Versions Testing
# runs-on: ubuntu-latest
# strategy:
# fail-fast: false
# defaults:
# run:
# # Adding -l {0} helps ensure conda can be found properly.
# shell: bash -l {0}
# steps:
# - uses: actions/checkout@main
# with:
# fetch-depth: 0
# - name: Setup Miniconda
# uses: conda-incubator/setup-miniconda@v3
# with:
# miniforge-version: latest
# python-version: ${{ env.PYTHON }}
# environment-file: ci/${{ env.ENV_NAME }}.yaml
# activate-environment: ${{ env.ENV_NAME }}
# - name: Conda Info
# run: |
# conda info -a
# conda list
# PYVER=`python -c "import sys; print('{:d}.{:d}'.format(sys.version_info.major, sys.version_info.minor))"`
# if [[ $PYVER != ${{ env.PYTHON }} ]]; then
# exit 1;
# fi
# - name: Install
# run: |
# pip install --no-deps -e .
# - name: Run Tests
# run: |
# python -m pytest --cov=pyradiosky --cov-config=.coveragerc --cov-report xml:./coverage.xml
# - name: check coverage report
# run: |
# ls
# cat coverage.xml
# - uses: codecov/codecov-action@v3
# if: success()
# with:
# token: ${{secrets.CODECOV_TOKEN}} #required
# files: ./coverage.xml #optional
# # Use pip for diversity
# warning_test:
# env:
# PYTHON: "3.11"
# name: Warning Test
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@main
# with:
# fetch-depth: 0
# - name: Setup Python
# uses: actions/setup-python@v4
# with:
# python-version: ${{ env.PYTHON }}
# - name: Install
# run: pip install -e .[dev]
# - name: Environment Info
# run: |
# pip list
# PYVER=`python -c "import sys; print('{:d}.{:d}'.format(sys.version_info.major, sys.version_info.minor))"`
# if [[ $PYVER != ${{ env.PYTHON }} ]]; then
# exit 1;
# fi
# - name: Run Tests
# run: |
# python -m pytest -W error --cov=pyradiosky --cov-config=.coveragerc --cov-report xml:./coverage.xml
# - name: check coverage report
# run: |
# ls
# cat coverage.xml
# - uses: codecov/codecov-action@v3
# if: success()
# with:
# token: ${{secrets.CODECOV_TOKEN}} #required
# files: ./coverage.xml #optional
# docs_test:
# env:
# ENV_NAME: full_deps
# PYTHON: "3.11"
# name: Tutorial Testing
# runs-on: ubuntu-latest
# defaults:
# run:
# # Adding -l {0} helps ensure conda can be found properly.
# shell: bash -l {0}
# strategy:
# fail-fast: false
# steps:
# - uses: actions/checkout@main
# with:
# fetch-depth: 0
# - name: Setup Miniconda
# uses: conda-incubator/setup-miniconda@v3
# with:
# auto-update-conda: true
# miniconda-version: "latest"
# python-version: ${{ env.PYTHON }}
# environment-file: ci/${{ env.ENV_NAME }}.yaml
# activate-environment: ${{ env.ENV_NAME }}
# - name: Conda Info
# run: |
# conda info -a
# conda list
# PYVER=`python -c "import sys; print('{:d}.{:d}'.format(sys.version_info.major, sys.version_info.minor))"`
# if [[ $PYVER != ${{ env.PYTHON }} ]]; then
# exit 1;
# fi
# - name: Install
# run: |
# pip install --no-deps .
# - name: Run Tests
# run: |
# cd docs
# python -m pytest --doctest-glob="*.rst" -W "error::DeprecationWarning"