Skip to content

Commit

Permalink
Refactor the CI and add pyproject.toml
Browse files Browse the repository at this point in the history
  • Loading branch information
FanwangM committed Sep 13, 2024
1 parent 39d90f9 commit b55e554
Show file tree
Hide file tree
Showing 6 changed files with 344 additions and 114 deletions.
28 changes: 15 additions & 13 deletions .github/workflows/ci_codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,19 +21,16 @@ on:
- cron: "0 0 * * *"

jobs:
run:
test:
name: Test on ${{ matrix.os }}, Python ${{ matrix.python-version }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]

env:
OS: ${{ matrix.os }}
python-version: "3.7"
python-version: ["3.11"]

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Additional info about the build
shell: bash
run: |
Expand All @@ -42,7 +39,7 @@ jobs:
ulimit -a
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
architecture: x64
Expand All @@ -51,22 +48,27 @@ jobs:
shell: bash
run: |
python -m pip install --upgrade pip
python -m pip install -r requirements_dev.txt
python -m pip install -U pytest pytest-cov codecov
- name: Install package
shell: bash
run: |
python -m pip install .
# pip install tox tox-gh-actions
python -m pip install -r requirements.txt
python -m pip install -U pytest pytest-cov
- name: Run tests
shell: bash
run: |
pytest --cov=./ --cov-config=.coveragerc --cov-report=xml --color=yes procrustes/test/
python -m pytest -c pyproject.toml --cov-config=.coveragerc --cov-report=xml --color=yes selector
- name: CodeCov
uses: codecov/codecov-action@v3.1.0
uses: codecov/codecov-action@v4.5.0
with:
token: ${{ secrets.CODECOV_TOKEN }}
# Temp fix for https://github.com/codecov/codecov-action/issues/1487
version: v0.6.0
fail_ci_if_error: true
directory: ./coverage/reports/
file: ./coverage.xml
verbose: true
flags: unittests
name: codecov-${{ matrix.os }}-py${{ matrix.python-version }}
81 changes: 57 additions & 24 deletions .github/workflows/ci_tox.yml
Original file line number Diff line number Diff line change
@@ -1,30 +1,63 @@
name: CI Tox

on:
push:
# branches: [master, tox]
pull_request:
branches: [master]
# GitHub has started calling new repo's first branch "main" https://github.com/github/renaming
# Existing codes likely still have "master" as the primary branch
# Both are tracked here to keep legacy and new codes working
push:
branches:
- "master"
- "main"
pull_request:
branches:
- "master"
- "main"
schedule:
# Nightly tests run on master by default:
# Scheduled workflows run on the latest commit on the default or base branch.
# (from https://help.github.com/en/actions/reference/events-that-trigger-workflows#scheduled-events-schedule)
- cron: "0 0 * * *"

jobs:
test:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]
test:
name: Test on ${{ matrix.os }}, Python ${{ matrix.python-version }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
# os: [macOS-latest, windows-latest, ubuntu-latest]
os: [macos-13, windows-latest, ubuntu-latest]
python-version: ["3.9", "3.10", "3.11", "3.12"]

steps:
- uses: actions/checkout@v4
- name: Additional info about the build
shell: bash
run: |
uname -a
df -h
ulimit -a
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
architecture: x64

- name: Install dependencies
shell: bash
run: |
python -m pip install --upgrade pip
python -m pip install -r requirements_dev.txt
# python -m pip install -U pytest pytest-cov codecov
python -m pytest -c pyproject.toml --cov-config=.coveragerc --cov-report=xml --color=yes procrustes
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: x64
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install tox tox-gh-actions
- name: Testing with tox
run: tox
- name: Install package
shell: bash
run: |
python -m pip install .
pip install tox tox-gh-actions
- name: Run tests
shell: bash
run: |
tox
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
Procrustes
==========

[![This project supports Python 3.6+](https://img.shields.io/badge/Python-3.6+-blue.svg)](https://python.org/downloads)
[![This project supports Python 3.8+](https://img.shields.io/badge/Python-3.8+-blue.svg)](https://python.org/downloads)
[![GPLv3 License](https://img.shields.io/badge/License-GPL%20v3-yellow.svg)](https://opensource.org/licenses/)
[![GitHub Actions CI Tox Status](https://github.com/theochem/procrustes/actions/workflows/ci_tox.yml/badge.svg?branch=master)](https://github.com/theochem/procrustes/actions/workflows/ci_tox.yml)
[![Documentation Status](https://readthedocs.org/projects/procrustes/badge/?version=latest)](https://procrustes.readthedocs.io/en/latest/?badge=latest)
[![codecov](https://codecov.io/gh/theochem/procrustes/branch/master/graph/badge.svg?token=3L96J5QQOT)](https://codecov.io/gh/theochem/procrustes)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/theochem/procrustes/master?filepath=doc%2Fnotebooks%2F)
[![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/theochem/procrustes.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/theochem/procrustes/context:python)

The Procrustes library provides a set of functions for transforming a matrix to make it
as similar as possible to a target matrix. For more information, visit
Expand Down Expand Up @@ -55,7 +54,7 @@ first, and then:

```bash
# Create and activate myenv conda environment (optional, but recommended)
conda create -n myenv python=3.6
conda create -n myenv python=3.11
conda activate myenv

# Install the stable release.
Expand Down
Loading

0 comments on commit b55e554

Please sign in to comment.