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] # 3.11 not available on Conda yet. 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