Skip to content

v0.3.0

v0.3.0 #38

Workflow file for this run

# 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:
- "package-*"
push:
branches:
- "package-*"
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/zarrtraj'
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/zarrtraj'
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_zarrtraj:
name: testpypi_upload_zarrtraj
if: |
github.repository == 'Becksteinlab/zarrtraj' &&
(github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v'))
environment:
name: publisher
url: https://test.pypi.org/p/zarrtraj
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_zarrtraj:
name: pypi_upload_zarrtraj
if: |
github.repository == 'Becksteinlab/zarrtraj' &&
github.event_name == 'release' && github.event.action == 'published'
environment:
name: publisher
url: https://pypi.org/p/zarrtraj
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]