Skip to content
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
79 changes: 60 additions & 19 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,30 +6,71 @@ on:
- 'v*'

jobs:
build-and-upload-wheels:
name: Build and upload wheels on ${{ matrix.os }} for ${{ matrix.python-version }}
runs-on: ${{ matrix.os }}
linux:
runs-on: ubuntu-latest
strategy:
matrix:
os: [ubuntu-latest]
python-version: ['3.10', '3.11', '3.12', '3.13']

target: [x86_64, i686]
steps:
- uses: actions/checkout@v3

- name: Set up Python
uses: actions/setup-python@v4
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
python-version: ${{ matrix.python-version }}

- name: Install Maturin
run: |
pip install maturin==1.8.3
target: ${{ matrix.target }}
args: --release --out dist -i python3.9 -i python3.10 -i python3.11 -i python3.12 -i python3.13
sccache: 'true'
manylinux: '2014'

- name: Upload wheels to PyPI
uses: PyO3/maturin-action@v1
with:
command: upload
args: --skip-existing dist/*
env:
MATURIN_USERNAME: __token__
MATURIN_PASSWORD: ${{ secrets.PYPI_TOKEN }}

macos:
runs-on: macos-latest
strategy:
matrix:
target: [x86_64, aarch64]
steps:
- uses: actions/checkout@v3

- name: Build wheels
run: |
maturin build --release --manylinux -i ${{ matrix.python-version }}
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist -i python3.9 -i python3.10 -i python3.11 -i python3.12 -i python3.13
sccache: 'true'

- name: Upload wheels to PyPI
uses: PyO3/maturin-action@v1
with:
command: upload
args: --skip-existing dist/*
env:
MATURIN_USERNAME: __token__
MATURIN_PASSWORD: ${{ secrets.PYPI_TOKEN }}

- name: Upload to PyPI
run: |
maturin upload --username __token__ --password ${{ secrets.PYPI_TOKEN }} --skip-existing target/wheels/*
sdist:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- name: Build sdist
uses: PyO3/maturin-action@v1
with:
command: sdist
args: --out dist

- name: Upload sdist to PyPI
uses: PyO3/maturin-action@v1
with:
command: upload
args: --skip-existing dist/*
env:
MATURIN_USERNAME: __token__
MATURIN_PASSWORD: ${{ secrets.PYPI_TOKEN }}
82 changes: 63 additions & 19 deletions .github/workflows/test-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,30 +4,74 @@ on:
workflow_dispatch:

jobs:
build-and-upload-wheels:
name: Build and upload wheels on ${{ matrix.os }} for ${{ matrix.python-version }}
runs-on: ${{ matrix.os }}
linux:
runs-on: ubuntu-latest
strategy:
matrix:
os: [ubuntu-latest]
python-version: ['3.10', '3.11', '3.12', '3.13']

target: [x86_64, i686]
steps:
- uses: actions/checkout@v3

- name: Set up Python
uses: actions/setup-python@v4
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
python-version: ${{ matrix.python-version }}

- name: Install Maturin
run: |
pip install maturin==1.8.3
target: ${{ matrix.target }}
args: --release --out dist -i python3.9 -i python3.10 -i python3.11 -i python3.12 -i python3.13
sccache: 'true'
manylinux: '2014'

- name: Upload wheels to Test PyPI
uses: PyO3/maturin-action@v1
with:
command: upload
args: --skip-existing dist/*
env:
MATURIN_REPOSITORY_URL: https://test.pypi.org/legacy/
MATURIN_USERNAME: __token__
MATURIN_PASSWORD: ${{ secrets.TEST_PYPI_TOKEN }}

macos:
runs-on: macos-latest
strategy:
matrix:
target: [x86_64, aarch64]
steps:
- uses: actions/checkout@v3

- name: Build wheels
run: |
maturin build --release --manylinux -i ${{ matrix.python-version }}
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist -i python3.9 -i python3.10 -i python3.11 -i python3.12 -i python3.13
sccache: 'true'

- name: Upload wheels to Test PyPI
uses: PyO3/maturin-action@v1
with:
command: upload
args: --skip-existing dist/*
env:
MATURIN_REPOSITORY_URL: https://test.pypi.org/legacy/
MATURIN_USERNAME: __token__
MATURIN_PASSWORD: ${{ secrets.TEST_PYPI_TOKEN }}

- name: Upload to Test PyPI
run: |
maturin upload --repository-url https://test.pypi.org/legacy/ --username __token__ --password ${{ secrets.TEST_PYPI_TOKEN }} --skip-existing target/wheels/*
sdist:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- name: Build sdist
uses: PyO3/maturin-action@v1
with:
command: sdist
args: --out dist

- name: Upload sdist to Test PyPI
uses: PyO3/maturin-action@v1
with:
command: upload
args: --skip-existing dist/*
env:
MATURIN_REPOSITORY_URL: https://test.pypi.org/legacy/
MATURIN_USERNAME: __token__
MATURIN_PASSWORD: ${{ secrets.TEST_PYPI_TOKEN }}
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "prime_iroh"
version = "0.2.1"
version = "0.3.0"
edition = "2024"

[lib]
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Because we are building on top of Iroh, we get many nice networking features out
**Quick Install**: Run the following command for a quick install:

```bash
curl -sSL https://raw.githubusercontent.com/PrimeIntellect-ai/prime-iroh/refs/heads/master/script/install.sh | bash
curl -sSL https://raw.githubusercontent.com/PrimeIntellect-ai/prime-iroh/main/install.sh | bash
```

**Manual Install**: First, install uv and cargo to build the project.
Expand Down
2 changes: 1 addition & 1 deletion script/install.sh → install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ log_info() {

main() {
log_info "Cloning repository..."
git clone https://github.com/PrimeIntellect-ai/prime-iroh.git
git clone git@github.com:PrimeIntellect-ai/prime-iroh.git

log_info "Entering project directory..."
cd prime-iroh
Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ build-backend = "maturin"

[project]
name = "prime_iroh"
version = "0.2.1"
version = "0.3.0"
authors = [{ name = "Mika Senghaas", email = "[email protected]" }]
description = "Asynchronous P2P communication backend for decentralized pipeline parallelism, built on top of Iroh"
readme = "README.md"
requires-python = ">=3.10"
requires-python = ">=3.9"
classifiers = [
"Programming Language :: Rust",
"Programming Language :: Python",
Expand Down
Loading