chore: adding .github/ files for templates and dependabot #69
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 | |
pull_request: | |
branches_ignore: [] | |
jobs: | |
cancel-previous: | |
runs-on: ubuntu-latest | |
if: github.ref != 'refs/heads/main' | |
steps: | |
- uses: khan/pull-request-workflow-cancel@1.0.0 | |
with: | |
workflows: "main.yml" | |
env: | |
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}' | |
linting: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Install Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: "3.10" | |
- name: Install dependencies | |
run: | | |
pip install -r requirements/test.txt | |
pip freeze | |
- name: Run linting tools | |
run: | | |
make lint | |
- name: Comment PR | |
if: github.event_name == 'pull_request' && failure() | |
uses: marocchino/sticky-pull-request-comment@v1.1.0 | |
with: | |
message: 'Please format your code with [black](https://black.readthedocs.io): `make black`.' | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
testing: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: | |
- "3.8" | |
- "3.9" | |
- "3.10" | |
# - "3.11" # no pysam binaries yet | |
needs: linting | |
steps: | |
- name: Construct environment.yml file for python version | |
run: | | |
cat <<EOF > /tmp/environment.yml | |
name: ngs-chew | |
channels: | |
- bioconda | |
- conda-forge | |
- defaults | |
dependencies: | |
- python=${{ matrix.python-version }} | |
- pip | |
- bcftools | |
- samtools | |
- pysam | |
- pandas | |
- scipy | |
- numpy | |
EOF | |
- name: Setup formatting environment | |
uses: mamba-org/setup-micromamba@v1 | |
with: | |
environment-file: /tmp/environment.yml | |
init-shell: bash | |
cache-environment: true | |
post-cleanup: none # breaks otherwise | |
- name: Install Python via conda | |
uses: s-weigand/setup-conda@v1 | |
with: | |
python-version: ${{ matrix.python-version }} | |
conda-channels: defaults,bioconda,conda-forge | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
lfs: true | |
- name: Install test dependencies via pip | |
run: pip install -r requirements/test.txt | |
shell: bash -el {0} | |
- name: Run tests | |
run: | | |
pytest | |
coverage report | |
shell: bash -el {0} | |
- uses: codecov/codecov-action@v3 |