Skip to content

Commit

Permalink
Merge e76bf74 into edee052
Browse files Browse the repository at this point in the history
  • Loading branch information
mattkwiecien committed Aug 2, 2023
2 parents edee052 + e76bf74 commit c6cbc88
Show file tree
Hide file tree
Showing 5 changed files with 153 additions and 123 deletions.
133 changes: 133 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
name: Tests
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
FORCE_COLOR: 3
CONDA_ENV: ./environment.yml

jobs:

lint:
name: Run Linters
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Run black
uses: psf/black@stable

- name: Run flake8
uses: py-actions/flake8@v2
with:
path: "tjpcov tests"

tests:
needs: lint
name: Check Python ${{ matrix.python-version }} on ${{ matrix.runs-on }}
runs-on: ${{ matrix.runs-on }}

defaults:
run:
# IMPORTANT: this is needed to make sure that the conda environment is auto activated
shell: bash -el {0}

strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.11"]
runs-on: [ubuntu-latest, macos-latest]

steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Set up mamba
uses: conda-incubator/setup-miniconda@v2
with:
channels: conda-forge
python-version: ${{ matrix.python-version }}
channel-priority: strict
show-channel-urls: true
auto-update-conda: true
use-mamba: true
activate-environment: tjpcov
miniforge-version: latest
miniforge-variant: Mambaforge

- name: Cache Date
id: get-date
run: echo "today=$(/bin/date -u '+%Y%m%d')" >> $GITHUB_OUTPUT

- name: Check for cached environment
uses: actions/cache@v3
id: cache
env:
# Increase this value to reset cache if etc/example-environment.yml has not changed
CACHE_NUMBER: 0
with:
path: ${{env.CONDA}}/envs
key:
${{runner.os}}.${{runner.arch}}.mamba-py.${{matrix.python-version}}.${{hashFiles('pyproject.toml')}}.${{hashFiles('environment.yml')}}.${{steps.get-date.outputs.today}}.${{env.CACHE_NUMBER}}

- name: Install environment packages
if: steps.cache.outputs.cache-hit != 'true'
run: |
export MAMBA_NO_BANNER=1
mamba env update --file ${{ env.CONDA_ENV }}
- name: Install TJPCov
run: pip install .[nmt] --no-deps

- name: Run Tests
run: pytest --cov-report lcov -vv tests/test_covariance_clusters.py --cov=tjpcov

- name: Collect coverage report
uses: coverallsapp/github-action@v2
with:
flag-name: run-${{matrix.python-version}}-${{matrix.runs-on}}
parallel: true

# - name: Run MPI Tests (OpenMPI)
# run: |
# mamba install -y openmpi
# pip install .[mpi] --no-deps

# mpiexec -n 2 pytest -vv tests/test_mpi.py

# mamba remove -y openmpi
# pip uninstall -y mpi4py

# - name: Run MPI Tests (mpich)
# run: |
# mamba install -y mpich
# pip install -U mpi4py --no-cache-dir --no-deps

# mpiexec -n 2 pytest -vv tests/test_mpi.py

- name: Collect coverage report
uses: coverallsapp/github-action@v2
with:
flag-name: run-${{matrix.python-version}}-${{matrix.runs-on}}
parallel: true

finish:
needs: tests
name: Collect and publish coverage report
runs-on: ubuntu-latest
steps:
- name: Publish code coverage report
uses: coverallsapp/github-action@v2
with:
parallel-finished: true
carryforward: "run-3.8-ubuntu-latest,run-3.11-ubuntu-latest,run-3.8-macos-latest,run-3.11-macos-latest,"
16 changes: 0 additions & 16 deletions .github/workflows/lint.yml

This file was deleted.

95 changes: 0 additions & 95 deletions .github/workflows/test.yaml

This file was deleted.

28 changes: 19 additions & 9 deletions environment.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,26 @@
name: tjpcov # minimum environment for tjpcov development
name: tjpcov
channels:
- conda-forge
- defaults
dependencies:
- python>=3.8
- mpi4py
- pip
- numpy
- wheel
- black
- flake8
- pytest
- pytest-cov
- pytest-rerunfailures
- coveralls
- nox
- numpy
- scipy
- pyyaml
- pyccl >= 2.5.0, < 2.8.0
- sacc>=0.8
- namaster
# tjpcov is only available at the moment through PyPi
- pip:
# Installing TJPcov in two steps to avoid making NaMaster installation to
# fail due to (https://github.com/LSSTDESC/NaMaster/issues/138)
- tjpcov[full]
- camb
- Jinja2
- healpy
- h5py
- mpi4py

4 changes: 1 addition & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,7 @@ dependencies = [
"numpy",
"Jinja2",
"pyyaml",
"pytest",
"pytest-rerunfailures",
"pyccl>=2.5.0,<2.8.0",
"pyccl >= 2.5.0, < 2.8.0",
"sacc>=0.8",
"camb",
"healpy",
Expand Down

0 comments on commit c6cbc88

Please sign in to comment.