Skip to content

Commit

Permalink
Merge pull request #23 from Becksteinlab/develop
Browse files Browse the repository at this point in the history
Release 0.1.0
  • Loading branch information
ljwoods2 authored Oct 14, 2024
2 parents 94bccd4 + be460ac commit 53e624a
Show file tree
Hide file tree
Showing 28 changed files with 2,651 additions and 988 deletions.
2 changes: 2 additions & 0 deletions .codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,5 @@ comment:
ignore:
- "imdclient/_version.py"
- "imdclient/data"
- "imdclient/tests"
- "examples"
149 changes: 149 additions & 0 deletions .github/workflows/deploy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
# On PR or push to package-* branch, build wheels and src dists
# On tag with version number, build wheels and src dists and upload to testpypi
# On release, build wheels and src dists and upload to pypi

name: Build and upload to PyPI

on:
pull_request:
branches:
- "main"
push:
tags:
- "v*"
release:
types:
- published

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


defaults:
run:
shell: bash -l {0}


jobs:
build_wheels:
name: Build wheels
if: github.repository == 'Becksteinlab/imdclient'
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4

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

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install wheel
- name: Build wheel
run: |
pip wheel --no-deps . -w wheelhouse/
- name: Print directory contents
run: |
echo "Contents of the wheelhouse directory:"
ls -l wheelhouse
- name: upload artifacts
uses: actions/upload-artifact@v4
with:
name: artifact-whl
path: ./wheelhouse/*.whl

build_sdist:
name: build package source distribution
if: github.repository == 'Becksteinlab/imdclient'
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4

- name: Build sdist
run: pipx run build --sdist

- name: Print directory contents
run: |
echo "Contents of the dist directory:"
ls -l dist
- name: upload artifacts
uses: actions/upload-artifact@v4
with:
name: artifact-sdist
path: ./dist/*.tar.gz

upload_testpypi_imdclient:
name: testpypi_upload_imdclient
if: |
github.repository == 'Becksteinlab/imdclient' &&
(github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v'))
environment:
name: publisher
url: https://test.pypi.org/p/imdclient
permissions:
id-token: write
runs-on: ubuntu-latest
needs: [build_wheels, build_sdist]
steps:

- uses: actions/download-artifact@v4
with:
name: artifact-whl
path: dist

- uses: actions/download-artifact@v4
with:
name: artifact-sdist
path: dist

- name: Print directory contents
run: |
echo "Contents of the dist directory:"
ls -l dist
- name: upload_source_and_wheels
uses: pypa/[email protected]
with:
skip-existing: true
repository-url: https://test.pypi.org/legacy/
verbose: true

upload_pypi_imdclient:
name: pypi_upload_imdclient
if: |
github.repository == 'Becksteinlab/imdclient' &&
github.event_name == 'release' && github.event.action == 'published'
environment:
name: publisher
url: https://pypi.org/p/imdclient
permissions:
id-token: write
runs-on: ubuntu-latest
needs: [build_wheels, build_sdist]
steps:
- uses: actions/download-artifact@v4
with:
name: artifact-whl
path: dist

- uses: actions/download-artifact@v4
with:
name: artifact-sdist
path: dist

- name: Print directory contents
run: |
echo "Contents of the dist directory:"
ls -l dist
- name: upload_source_and_wheels
uses: pypa/[email protected]
11 changes: 10 additions & 1 deletion .github/workflows/gh-ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ on:
pull_request:
branches:
- main
- develop
schedule:
# Weekly tests at midnight on Sundays run on main by default:
# Scheduled workflows run on the latest commit on the default or base branch.
Expand All @@ -24,6 +25,7 @@ defaults:

jobs:
environment-config:
if: github.repository == 'Becksteinlab/imdclient'
runs-on: ubuntu-latest
outputs:
stable-python-version: ${{ steps.get-compatible-python.outputs.stable-python }}
Expand All @@ -39,6 +41,7 @@ jobs:
release: "latest"

main-tests:
if: github.repository == 'Becksteinlab/imdclient'
needs: environment-config
runs-on: ${{ matrix.os }}
strategy:
Expand Down Expand Up @@ -101,9 +104,13 @@ jobs:
conda list
- name: Run tests
- name: Run IMDClient tests
run: |
pytest -n auto -v --cov=imdclient --cov-report=xml --color=yes imdclient/tests/test_imdclient.py
- name: Run IMDReader tests
run: |
pytest -n auto -v --cov=imdclient --cov-report=xml --color=yes imdclient/tests/test_imdreader.py
- name: codecov
if: github.event_name != 'schedule'
Expand All @@ -114,6 +121,7 @@ jobs:
verbose: True

pylint_check:
if: github.repository == 'Becksteinlab/imdclient'
needs: environment-config
runs-on: ubuntu-latest

Expand All @@ -139,6 +147,7 @@ jobs:
pypi_check:
if: github.repository == 'Becksteinlab/imdclient'
needs: environment-config
runs-on: ubuntu-latest

Expand Down
1 change: 1 addition & 0 deletions .github/workflows/gromacs-integration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ defaults:

jobs:
gromacs-tests:
if: github.repository == 'Becksteinlab/imdclient'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/lammps-integration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ defaults:

jobs:
lammps-tests:
if: github.repository == 'Becksteinlab/imdclient'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/namd-integration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ defaults:

jobs:
namd-tests:
if: github.repository == 'Becksteinlab/imdclient'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down
Loading

0 comments on commit 53e624a

Please sign in to comment.