Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Substantial refactoring, linting, CI/CD updates #107

Merged
merged 19 commits into from
May 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading