Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
baszalmstra committed Sep 26, 2023
1 parent c6f1e3f commit 645c2d4
Show file tree
Hide file tree
Showing 5 changed files with 110 additions and 4 deletions.
8 changes: 5 additions & 3 deletions .github/workflows/python-bindings.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,11 @@ jobs:
with:
submodules: recursive
lfs: true
- run: |
curl -fsSL https://pixi.sh/install.sh | bash
echo "/home/runner/.pixi/bin" >> $GITHUB_PATH
- uses: prefix-dev/[email protected]
with:
pixi-version: v0.3.0
cache: true
manifest-path: py-rattler/pixi.toml
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: clippy, rustfmt
Expand Down
99 changes: 99 additions & 0 deletions .github/workflows/release-python.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
name: "Python Release"

on:
workflow_dispatch:
inputs:
tag:
description: "The version to tag, without the leading 'v'. If omitted, will initiate a dry run (no uploads)."
type: string
sha:
description: "The full sha of the commit to be released. If omitted, the latest commit on the default branch will be used."
default: ""
type: string
pull_request:
paths:
# When we change pyproject.toml, we want to ensure that the maturin builds still work
- py-rattler/pyproject.toml
# And when we change this workflow itself...
- .github/workflows/python-release.yaml

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

env:
PACKAGE_NAME: py-rattler
CARGO_INCREMENTAL: 0
CARGO_NET_RETRY: 10
CARGO_TERM_COLOR: always
RUSTUP_MAX_RETRIES: 10

jobs:
sdist:
name: Build sdist
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ inputs.sha }}
- uses: prefix-dev/[email protected]
with:
pixi-version: v0.3.0
cache: true
manifest-path: py-rattler/pixi.toml
- name: "Build sdist"
run: pixi run --manifest-path py-rattler/pixi.toml generate-sdist
- name: "Test sdist"
run: pixi run --manifest-path py-rattler/pixi.toml pip install dist/${{ env.PACKAGE_NAME }}-*.tar.gz --force-reinstall
- name: "Upload sdist"
uses: actions/upload-artifact@v3
with:
name: wheels
path: dist

windows:
runs-on: windows-latest
name: Build ${{ matrix.platform.target }}
strategy:
matrix:
platform:
- target: x86_64-pc-windows-msvc
arch: x64
- target: i686-pc-windows-msvc
arch: x86
- target: aarch64-pc-windows-msvc
arch: x64
steps:
- uses: actions/checkout@v4
with:
ref: ${{ inputs.sha }}
- uses: prefix-dev/[email protected]
with:
pixi-version: v0.3.0
cache: true
manifest-path: py-rattler/pixi.toml
- name: "Build wheel"
run: pixi run --manifest-path py-rattler/pixi.toml generate-sdist --target ${{ matrix.platform.target }}
- name: "Test wheel"
if: ${{ !startsWith(matrix.platform.target, 'aarch64') }}
shell: pixi run --manifest-path py-rattler/pixi.toml bash {0}
run: |
pip install dist/${{ env.PACKAGE_NAME }}-*.whl --force-reinstall
- name: "Upload wheels"
uses: actions/upload-artifact@v3
with:
name: wheels
path: dist
- name: "Archive binary"
shell: bash
run: |
ARCHIVE_FILE=ruff-${{ matrix.platform.target }}.zip
7z a $ARCHIVE_FILE ./target/${{ matrix.platform.target }}/release/ruff.exe
sha256sum $ARCHIVE_FILE > $ARCHIVE_FILE.sha256
- name: "Upload binary"
uses: actions/upload-artifact@v3
with:
name: binaries
path: |
*.zip
*.sha256
1 change: 1 addition & 0 deletions py-rattler/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -71,3 +71,4 @@ docs/_build/

# Pyenv
.python-version
.ruff_cache
4 changes: 4 additions & 0 deletions py-rattler/pixi.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ fmt-rust-check = "cargo fmt --all --check"
fmt-python-check = "black . --check"
fmt-check = { depends_on = ["fmt-python-check", "fmt-rust-check"] }

# tasks to generate artifacts
generate-sdist = "maturin sdist --out dist"
generate-wheel = "maturin build --release --out dist"

[dependencies]
maturin = "~=1.2.2"
pip = "~=23.2.1"
Expand Down
2 changes: 1 addition & 1 deletion py-rattler/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ requires = ["maturin~=1.2.1"]
build-backend = "maturin"

[project]
name = "rattler"
name = "py-rattler"
requires-python = ">=3.8"
authors = [
{ name = "Bas Zalmstra", email = "[email protected]" },
Expand Down

0 comments on commit 645c2d4

Please sign in to comment.