Cookiecutter - add workflows #15
Workflow file for this run
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: | |
push: | |
branches: | |
- main | |
- CI | |
pull_request: | |
workflow_dispatch: | |
jobs: | |
miniconda: | |
name: Miniconda ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: ["ubuntu-latest"] | |
steps: | |
- name: check out diffpy.pdffit2 | |
uses: actions/checkout@v3 | |
with: | |
repository: diffpy/diffpy.pdffit2 | |
path: . | |
fetch-depth: 0 # avoid shallow clone with no tags | |
- name: initialize miniconda | |
# this uses a marketplace action that sets up miniconda in a way that makes | |
# it easier to use. I tried setting it up without this and it was a pain | |
uses: conda-incubator/setup-miniconda@v2 | |
with: | |
activate-environment: test | |
# environment.yml file is needed by this action. Because I don't want | |
# maintain this but rather maintain the requirements files it just has | |
# basic things in it like conda and pip | |
environment-file: ./environment.yml | |
python-version: 3 | |
auto-activate-base: false | |
- name: install diffpy.pdffit2 requirements | |
shell: bash -l {0} | |
run: | | |
conda config --set always_yes yes --set changeps1 no | |
conda config --add channels conda-forge | |
conda activate test | |
conda install --file requirements/run.txt | |
conda install --file requirements/test.txt | |
pip install -e . | |
- name: Validate diffpy.pdffit2 | |
shell: bash -l {0} | |
run: | | |
conda activate test | |
coverage run src/diffpy/pdffit2/tests/run.py | |
coverage report -m | |
codecov | |
# Use this after migrating to pytest | |
# - name: Validate diffpy.pdffit2 | |
# shell: bash -l {0} | |
# run: | | |
# conda activate test | |
# coverage run -m pytest -vv -s | |
# coverage report -m | |
# codecov |