Add main.yml #1
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 ${{ github.event.repository.name }} | |
uses: actions/checkout@v3 | |
with: | |
repository: ${{ github.repository }} | |
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 ${{ github.event.repository.name }} 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 . | |
- name: Validate ${{ github.event.repository.name }} | |
shell: bash -l {0} | |
run: | | |
conda activate test | |
coverage run run_tests.py | |
coverage report -m | |
codecov |