Skip to content

Commit

Permalink
Substantial refactoring, linting, CI/CD updates (#107)
Browse files Browse the repository at this point in the history
* Switching to poetry + ruff

* fixed main.yml

* this will do

* maybe this?

* update lock

* fix: ruff errors

* fix: python version error

* all lint checks pass

* tests should work...

* update pytest version

* new poetry install

* windows ghaction poetry install... work pls

* yml fix

* poetry version=1.8.2

* still fixing main.yml

* maybe it's poetry?

* oh boy!

* kill old unit test ci/cd

* update ci/cd badge

---------

Co-authored-by: Jermiah Joseph <jermiahjoseph98@gmail.com>
  • Loading branch information
skim2257 and jjjermiah committed May 17, 2024
1 parent c2e8ddb commit 6ddc645
Show file tree
Hide file tree
Showing 51 changed files with 1,603 additions and 676 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
name: main-ci

on:
pull_request:
workflow_dispatch:

jobs:
Expand Down
129 changes: 129 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
name: bob-the-builder

# only run on pushes to main or pull requests
on:
push:
# push to any branch *
branches: '*'
pull_request:
branches: [ main ]

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: chartboost/ruff-action@v1

tests:
runs-on: ${{ matrix.os }}
timeout-minutes: 15 # Consider increasing timeout

strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
- windows-latest
python-version:
- '3.10'
- '3.11'
- '3.12'

steps:
- uses: actions/checkout@v3

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- name: Pip install
run: pip install .
- name: Run tests
run: pip install pytest && pytest tests -v

cd:
permissions:
contents: write
packages: write
issues: write
pull-requests: write

needs: [tests]

# if pulling to main, deploy to PyPI
if: github.ref == 'refs/heads/main'

# Set up operating system
runs-on: ubuntu-latest

outputs:
released: ${{ steps.release.outputs.released }}
version: ${{ steps.release.outputs.version }}
tag: ${{ steps.release.outputs.tag }}

# Define job steps
steps:
- name: Set up Python 3.12
uses: actions/setup-python@v2
with:
python-version: 3.12

- name: Check-out repository
uses: actions/checkout@v2
with:
fetch-depth: 0

pip-squeak:
needs: cd
if: needs.cd.outputs.released == 'true'
runs-on: ubuntu-latest
steps:
- name: Checkout the code with tag ${{ needs.cd.outputs.tag }}
uses: actions/checkout@v3
with:
ref: ${{ needs.cd.outputs.tag }}

- name: Set up Python 3.12
uses: actions/setup-python@v4
with:
python-version: 3.12

- name: Install Package Builder
run:
python3 -m pip install build

- name: Build package
run:
python3 -m build --sdist --wheel --outdir dist/

- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
verbose: true
user: ${{ secrets.pypi_token }}
password: ${{ secrets.pypi_api }}


does-the-pip-squeak:
needs: pip-squeak
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ["3.12", "3.11", "3.10"]

steps:
- uses: actions/checkout@v3

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- name: Install using PyPi
run: |
pip install med-imagetools==${{ needs.cd.outputs.version }}
autopipeline
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
examples/autotest.py
.idea
temp_outputs
.ruff_cache
data*
*built_with*

#vscode files
/.idea
Expand All @@ -10,7 +13,7 @@ temp_outputs
data
examples/data/tcia_n*
scratch.ipynb
tests/temp
tests/temp*

# macOS
.DS_Store
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Med-Imagetools: Transparent and Reproducible Medical Image Processing Pipelines in Python
[![main-ci](https://github.com/bhklab/med-imagetools/actions/workflows/main-ci.yml/badge.svg)](https://github.com/bhklab/med-imagetools/actions/workflows/main-ci.yml)
[![CI/CD Status](https://github.com/bhklab/med-imagetools/actions/workflows/main.yml/badge.svg)](https://github.com/bhklab/med-imagetools/actions/workflows/main.yml)
![GitHub repo size](https://img.shields.io/github/repo-size/bhklab/med-imagetools)
![GitHub contributors](https://img.shields.io/github/contributors/bhklab/med-imagetools)
![GitHub stars](https://img.shields.io/github/stars/bhklab/med-imagetools?style=social)
Expand Down
17 changes: 0 additions & 17 deletions examples/README.md

This file was deleted.

129 changes: 0 additions & 129 deletions examples/ct_rtstruct_quickstart.py

This file was deleted.

Loading

0 comments on commit 6ddc645

Please sign in to comment.