Incrementing version number #9
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |