|
name: Python Release - Conda |
|
|
|
on: |
|
push: |
|
tags: |
|
- v* |
|
|
|
env: |
|
ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} |
|
|
|
jobs: |
|
build_and_package: |
|
runs-on: ${{ matrix.os }} |
|
strategy: |
|
matrix: |
|
os: [windows-latest, macos-latest] |
|
|
|
python: ["3.8", "3.9", "3.10", "3.11"] |
|
|
|
steps: |
|
- name: Checkout repository |
|
uses: actions/checkout@v3 |
|
|
|
- name: Install miniconda |
|
uses: conda-incubator/setup-miniconda@v2 |
|
with: |
|
auto-update-conda: true |
|
python-version: ${{ matrix.python }} |
|
|
|
- name: Conda info |
|
shell: bash -l {0} |
|
run: conda info |
|
|
|
- name: Install Rust |
|
uses: actions-rs/toolchain@v1 |
|
with: |
|
toolchain: stable |
|
|
|
- name: Setup conda env |
|
shell: bash -l {0} |
|
run: | |
|
conda install setuptools-rust |
|
conda install -c defaults anaconda-client conda-build |
|
|
|
- name: Extract version |
|
shell: bash -l {0} |
|
working-directory: ./bindings/python |
|
run: echo "SAFETENSORS_VERSION=`grep -m 1 version Cargo.toml | grep -e '".*"' -o | tr -d '"' | sed s/-/./ `" >> $GITHUB_ENV |
|
|
|
- name: Build conda packages |
|
shell: bash -l {0} |
|
run: | |
|
conda info |
|
conda list |
|
conda-build .github/conda --python=${{ matrix.python }} |
|
|
|
- name: Upload to Anaconda |
|
shell: bash -l {0} |
|
run: | |
|
anaconda upload `conda-build .github/conda --output` --force |
|
|
|
build_and_package_linux: |
|
runs-on: ubuntu-latest |
|
container: quay.io/pypa/manylinux2014_x86_64 |
|
|
|
strategy: |
|
fail-fast: false |
|
matrix: |
|
python: [38, 39, 310, 311] |
|
include: |
|
- python: 38 |
|
checksum: e2a4438671e0e42c5bba14cb51de6ce9763938184d6ca2967340bbe972bbe7e6 |
|
- python: 39 |
|
checksum: 9829d95f639bd0053b2ed06d1204e60644617bf37dd5cc57523732e0e8d64516 |
|
- python: 310 |
|
checksum: ea5e6e8a3d5a0247b9df85382d27220fac8e59b5778fd313c5913879cd9baafc |
|
- python: 311 |
|
checksum: 634d76df5e489c44ade4085552b97bebc786d49245ed1a830022b0b406de5817 |
|
|
|
steps: |
|
- name: Checkout repository |
|
uses: actions/checkout@v2 |
|
|
|
- name: Install miniconda |
|
run: | |
|
yum install -y wget openssl-devel |
|
export FILENAME=Miniconda3-py${{ matrix.python }}_23.5.2-0-Linux-x86_64.sh |
|
wget https://repo.anaconda.com/miniconda/$FILENAME |
|
sha256sum $FILENAME | awk '$1=="${{ matrix.checksum}}"{print"good to go"}' |
|
bash $FILENAME -b -p $HOME/miniconda |
|
source $HOME/miniconda/bin/activate |
|
|
|
- name: Show glibc information |
|
shell: bash -l {0} |
|
run: ldd --version |
|
|
|
- name: Conda info |
|
shell: bash -l {0} |
|
run: | |
|
source $HOME/miniconda/bin/activate |
|
conda info |
|
|
|
- name: Install Rust |
|
uses: actions-rs/toolchain@v1 |
|
with: |
|
toolchain: stable |
|
|
|
- name: Setup conda env |
|
shell: bash -l {0} |
|
run: | |
|
source $HOME/miniconda/bin/activate |
|
conda install setuptools-rust |
|
conda install -c defaults anaconda-client conda-build |
|
|
|
- name: Extract version |
|
shell: bash -l {0} |
|
working-directory: ./bindings/python |
|
run: | |
|
source $HOME/miniconda/bin/activate |
|
echo "SAFETENSORS_VERSION=`grep -m 1 version Cargo.toml | grep -e '".*"' -o | tr -d '"' | sed s/-/./ `" >> $GITHUB_ENV |
|
|
|
- name: Build conda packages |
|
shell: bash -l {0} |
|
run: | |
|
source $HOME/miniconda/bin/activate |
|
conda info |
|
conda list |
|
conda-build .github/conda --python=${{ matrix.python }} |
|
|
|
- name: Upload to Anaconda |
|
shell: bash -l {0} |
|
run: | |
|
source $HOME/miniconda/bin/activate |
|
anaconda upload `conda-build .github/conda --output` --force |
|
|