Skip to content

Patch 0.13.1.0 (#24) #6

Patch 0.13.1.0 (#24)

Patch 0.13.1.0 (#24) #6

Workflow file for this run

name: deploy
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+.[0-9]+'
jobs:
#-------------------------------------------------------------------------------
# PyPI / Linux
#-------------------------------------------------------------------------------
build-pypi-linux:
runs-on: ubuntu-latest
container: quay.io/pypa/manylinux2014_x86_64
steps:
- name: Install dependencies
run: |
yum -y install eigen3-devel libgomp boost-devel mlocate gcc
/opt/python/cp37-cp37m/bin/python -m pip install numpy scipy tqdm cython pytest
/opt/python/cp38-cp38/bin/python -m pip install numpy scipy tqdm cython pytest
/opt/python/cp39-cp39/bin/python -m pip install numpy scipy tqdm cython pytest
/opt/python/cp310-cp310/bin/python -m pip install numpy scipy tqdm cython pytest
/opt/python/cp311-cp311/bin/python -m pip install numpy scipy tqdm cython pytest
- name: Checkout repo
uses: actions/checkout@v3
- name: Build
run: ./deploy/docker_setup_github.sh
- name: Test
run: ./deploy/docker_test_github.sh
- name: Archive wheels
uses: actions/upload-artifact@v3
with:
name: pypi-linux-wheels
path: wheelhouse/pyqint-*.whl
publish-pypi-linux:
name: Upload release to PyPI
needs: build-pypi-linux
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/p/pyqint
permissions:
id-token: write
steps:
- name: Retrieve packages
uses: actions/download-artifact@v3
with:
name: pypi-linux-wheels
path: wheelhouse
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: wheelhouse/
#-------------------------------------------------------------------------------
# Anaconda / Windows
#-------------------------------------------------------------------------------
build-anaconda-windows:
runs-on: windows-latest
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Set-up miniconda
uses: conda-incubator/setup-miniconda@v2
with:
activate-environment: test
environment-file: environment.yml
python-version: 3.8
auto-activate-base: false
- name: Download GLM
uses: suisei-cn/actions-download-file@v1.4.0
with:
url: "https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.zip"
- name: Unzip GLM
shell: bash -l {0}
run: |
7z x eigen-3.4.0.zip
- name: Download Boost
uses: suisei-cn/actions-download-file@v1.4.0
with:
url: "https://boostorg.jfrog.io/artifactory/main/release/1.82.0/source/boost_1_82_0.zip"
- name: Unzip Boost
shell: bash -l {0}
run: |
7z x boost_1_82_0.zip
- name: Placing dependencies
shell: bash -l {0}
run: |
rm -v boost_1_82_0.zip eigen-3.4.0.zip
mkdir vendor
mv eigen-3.4.0 vendor/
mv boost_1_82_0 vendor/
- name: Set-up MSVC toolchain
uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64
- name: Build
shell: bash -l {0}
run: |
echo $PATH
conda build . --no-include-recipe
- name: Archive packages
uses: actions/upload-artifact@v3
with:
name: anaconda-windows-packages
path: C:\Miniconda\envs\test\conda-bld\win-64\pyqint-*.tar.bz2
publish-anaconda-windows:
name: Publish Anaconda / Windows
needs: build-anaconda-windows
runs-on: ubuntu-latest
environment:
name: anaconda
url: https://anaconda.org/ifilot/pyqint
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Set-up miniconda
uses: conda-incubator/setup-miniconda@v2
with:
activate-environment: test
environment-file: environment.yml
python-version: 3.8
auto-activate-base: false
- name: Retrieve packages
uses: actions/download-artifact@v3
with:
name: anaconda-windows-packages
path: packages
- name: publish-to-conda
shell: bash -l {0}
env:
INPUT_ANACONDATOKEN: ${{ secrets.ANACONDA_TOKEN }}
run: |
export ANACONDA_API_TOKEN=$INPUT_ANACONDATOKEN
anaconda upload packages/*.tar.bz2
#-------------------------------------------------------------------------------
# Anaconda / Linux
#-------------------------------------------------------------------------------
build-anaconda-linux:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y build-essential libeigen3-dev libboost-all-dev
- name: Set-up miniconda
uses: conda-incubator/setup-miniconda@v2
with:
activate-environment: test
environment-file: environment.yml
python-version: 3.8
auto-activate-base: false
- name: Build
run: |
conda install conda-build
conda build . --no-include-recipe
- name: Archive packages
uses: actions/upload-artifact@v3
with:
name: anaconda-linux-packages
path: /usr/share/miniconda/conda-bld/linux-64/pyqint-*.tar.bz2
publish-anaconda-linux:
name: Publish Anaconda / Linux
needs: build-anaconda-linux
runs-on: ubuntu-latest
environment:
name: anaconda
url: https://anaconda.org/ifilot/pyqint
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Set-up miniconda
uses: conda-incubator/setup-miniconda@v2
with:
activate-environment: test
environment-file: environment.yml
python-version: 3.8
auto-activate-base: false
- name: Retrieve packages
uses: actions/download-artifact@v3
with:
name: anaconda-linux-packages
path: packages
- name: publish-to-conda
shell: bash -l {0}
env:
INPUT_ANACONDATOKEN: ${{ secrets.ANACONDA_TOKEN }}
run: |
export ANACONDA_API_TOKEN=$INPUT_ANACONDATOKEN
anaconda upload packages/*.tar.bz2
#-------------------------------------------------------------------------------
# Anaconda / MacOSx
#-------------------------------------------------------------------------------
build-anaconda-macos:
runs-on: macos-latest
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Install dependencies
run: |
brew install eigen
brew install boost
- name: Set-up miniconda
uses: conda-incubator/setup-miniconda@v2
with:
activate-environment: test
environment-file: environment.yml
python-version: 3.8
auto-activate-base: false
- name: Build
run: |
conda install conda-build
conda build . --no-include-recipe
- name: Archive packages
uses: actions/upload-artifact@v3
with:
name: anaconda-macos-packages
path: /usr/local/miniconda/conda-bld/osx-64/pyqint-*.tar.bz2
publish-anaconda-macos:
name: Publish Anaconda / MacOS
needs: build-anaconda-macos
runs-on: ubuntu-latest
environment:
name: anaconda
url: https://anaconda.org/ifilot/pyqint
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Set-up miniconda
uses: conda-incubator/setup-miniconda@v2
with:
activate-environment: test
environment-file: environment.yml
python-version: 3.8
auto-activate-base: false
- name: Retrieve packages
uses: actions/download-artifact@v3
with:
name: anaconda-macos-packages
path: packages
- name: publish-to-conda
shell: bash -l {0}
env:
INPUT_ANACONDATOKEN: ${{ secrets.ANACONDA_TOKEN }}
run: |
export ANACONDA_API_TOKEN=$INPUT_ANACONDATOKEN
anaconda upload packages/*.tar.bz2