Merge pull request #63 from wassimj/prerelease #25
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
# | |
# Anything pushed into the branch `main` with a tag will be published | |
# on GitHub Release Page as draft upon succesful build and test on three | |
# operating systems and Python >= 3.8. | |
# | |
# Git tag specifies exact version. Example of git tags: `v5.0.0`, | |
# `v6.0.0`, `v6.5.1`. | |
# | |
# Anything pushed into a different branch will be built and tested without | |
# making any release on GitHub Release Page. | |
# | |
# Pull Requests will be built and tested without making any release on GitHub | |
# Release Page. Merge the branch 'main' with the Pull Request and get | |
# a new GitHub Release (draft) ONLY if a git tag is set. | |
# | |
# If you updated the main branch on GitHub and forgot to set a tag name, | |
# the release won't published (as draft) on GitHub Release Page. No worries, | |
# add the tag later and restart the workflow in GitHub Actions for the | |
# commit which already was in the workflow. | |
# | |
name: build | |
on: | |
pull_request: | |
push: | |
branches: | |
- '**' | |
jobs: | |
prepare-build-info: | |
if: true | |
name: Prepare Build Information | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Obtain tag name (if set), version, and human readable name | |
id: got-tag | |
run: | | |
echo "tagname=`git tag --points-at ${{ github.sha }} | head -n 1`" >> "$GITHUB_OUTPUT" | |
echo "anyname=`git describe --abbrev=0 --tags --always ${{ github.sha }} | head -n 1`" >> "$GITHUB_OUTPUT" | |
echo "anyversion=`git describe --abbrev=0 --tags --always ${{ github.sha }} | head -n 1 | sed 's/^v//'`" >> "$GITHUB_OUTPUT" | |
outputs: | |
tagname: ${{ steps.got-tag.outputs.tagname }} | |
anyname: ${{ steps.got-tag.outputs.anyname }} | |
anyversion: ${{ steps.got-tag.outputs.anyversion }} | |
branchname: ${{ github.head_ref || github.ref_name }} | |
############################################################################## | |
# All stable Linux builds (with the help of quay.io/pypa/manylinux2014_x86_64) | |
############################################################################## | |
build-linux-manylinux-py-all: | |
needs: prepare-build-info | |
if: true | |
runs-on: ubuntu-22.04 | |
name: Build for Linux + Python 3.8-3.12 (manylinux*) | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Setup cache | |
if: github.event_name != 'workflow_dispatch' || fromJSON(github.event.inputs.useCache) | |
uses: actions/cache@v3 | |
with: | |
path: .occt-cache-manylinux2014_x86_64/* | |
key: occt-cache-manylinux2014-x86_64-${{ hashFiles('recipe/build_manylinux2014_x86_64.sh') }} | |
restore-keys: occt-cache-manylinux2014-x86_64- | |
- name: Try to restore openCASCADE build from cache | |
id: extract-artifact | |
run: | | |
if test -f .occt-cache-manylinux2014_x86_64/occt-installed-centos.tar.gz; then | |
cp .occt-cache-manylinux2014_x86_64/occt-installed-centos.tar.gz ./ | |
echo "extracted=true" >> "$GITHUB_OUTPUT" | |
tar xvfz occt-installed-centos.tar.gz | |
ls -l | |
fi | |
- name: Build Python v3.8-3.12 bindings for manylinux* | |
run: | | |
docker \ | |
run --rm \ | |
--env TOPOLOGIC_VERSION \ | |
-v $(pwd)/:/repo quay.io/pypa/manylinux2014_x86_64 \ | |
bash /repo/recipe/build_manylinux2014_x86_64.sh ${{ (steps.extract-artifact.outputs.extracted == 'true' && '--no-deps') || '' }} | |
env: | |
TOPOLOGIC_VERSION: ${{ needs.prepare-build-info.outputs.anyversion }} | |
- name: Upload openCASCADE build to cache (new build only) | |
if: ${{ steps.extract-artifact.outputs.extracted != 'true' }} | |
run: | | |
if test -f ./occt-installed-centos.tar.gz; then | |
mkdir -p ./.occt-cache-manylinux2014_x86_64 || true | |
cp occt-installed-centos.tar.gz ./.occt-cache-manylinux2014_x86_64/ | |
ls -l ./.occt-cache-manylinux2014_x86_64/ | |
fi | |
- name: Upload openCASCADE build to artifacts (new or cached build) | |
uses: actions/upload-artifact@v4 | |
with: | |
name: occt-installed-centos.tar.gz | |
path: ${{ github.workspace }}/occt-installed-centos.tar.gz | |
if-no-files-found: error | |
retention-days: 90 | |
- name: Upload artifact v3.12 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | |
path: TopologicPythonBindings/wheelhouse/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | |
if-no-files-found: error | |
retention-days: 60 | |
- name: Upload artifact v3.11 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | |
path: TopologicPythonBindings/wheelhouse/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | |
if-no-files-found: error | |
retention-days: 60 | |
- name: Upload artifact v3.10 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | |
path: TopologicPythonBindings/wheelhouse/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | |
if-no-files-found: error | |
retention-days: 60 | |
- name: Upload artifact v3.9 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | |
path: TopologicPythonBindings/wheelhouse/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | |
if-no-files-found: error | |
retention-days: 60 | |
- name: Upload artifact v3.8 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | |
path: TopologicPythonBindings/wheelhouse/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | |
if-no-files-found: error | |
retention-days: 60 | |
############################################################################## | |
# All stable Linux builds (with the help of Miniconda). | |
############################################################################## | |
build-linux-conda-py312: | |
needs: prepare-build-info | |
if: false | |
runs-on: ubuntu-22.04 | |
name: Build for Linux + Python 3.12 | |
env: | |
TOPOLOGIC_VERSION: ${{ needs.prepare-build-info.outputs.anyversion }} | |
POLICY: manylinux2014 | |
PLATFORM: x86_64 | |
COMMIT_SHA: ${{ github.sha }} | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Setup cache | |
if: github.event_name != 'workflow_dispatch' || fromJSON(github.event.inputs.useCache) | |
uses: actions/cache@v3 | |
with: | |
path: .buildx-cache-manylinux2014_x86_64/* | |
key: buildx-cache-manylinux2014-x86_64-${{ hashFiles('docker/**') }} | |
restore-keys: buildx-cache-manylinux2014-x86_64- | |
- name: Build Python bindings with Miniconda | |
#run: recipe/build_linux_x86_64_docker.sh 312 | |
# Pulling from pypa/manylinux2014_x86_64 | |
#--load \ | |
#--cache-from=type=local,src=$(pwd)/.buildx-cache-${POLICY}_${PLATFORM} \ | |
#--cache-to=type=local,dest=$(pwd)/.buildx-cache-staging-${POLICY}_${PLATFORM} \ | |
run: | | |
docker \ | |
run --rm -v $(pwd)/:/repo quay.io/pypa/${POLICY}_${PLATFORM} bash /repo/recipe/build_linux_x86_64_manylinux.sh | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp312-cp312-linux_x86_64.whl | |
path: TopologicPythonBindings/wheelhouse/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp312-cp312-linux_x86_64.whl | |
if-no-files-found: error | |
retention-days: 60 | |
build-linux-conda-py311: | |
needs: prepare-build-info | |
if: false | |
runs-on: ubuntu-22.04 | |
name: Build for Linux + Python 3.11 | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Build Python bindings with Miniconda | |
run: recipe/build_linux_x86_64_conda.sh 311 | |
env: | |
TOPOLOGIC_VERSION: ${{ needs.prepare-build-info.outputs.anyversion }} | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp311-cp311-linux_x86_64.whl | |
path: TopologicPythonBindings/wheelhouse/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp311-cp311-linux_x86_64.whl | |
if-no-files-found: error | |
retention-days: 60 | |
build-linux-conda-py310: | |
needs: prepare-build-info | |
if: false | |
runs-on: ubuntu-22.04 | |
name: Build for Linux + Python 3.10 | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Build Python bindings with Miniconda | |
run: recipe/build_linux_x86_64_conda.sh 310 | |
env: | |
TOPOLOGIC_VERSION: ${{ needs.prepare-build-info.outputs.anyversion }} | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp310-cp310-linux_x86_64.whl | |
path: TopologicPythonBindings/wheelhouse/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp310-cp310-linux_x86_64.whl | |
if-no-files-found: error | |
retention-days: 60 | |
build-linux-conda-py39: | |
needs: prepare-build-info | |
if: false | |
runs-on: ubuntu-22.04 | |
name: Build for Linux + Python 3.9 | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Build Python bindings with Miniconda | |
run: recipe/build_linux_x86_64_conda.sh 39 | |
env: | |
TOPOLOGIC_VERSION: ${{ needs.prepare-build-info.outputs.anyversion }} | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp39-cp39-linux_x86_64.whl | |
path: TopologicPythonBindings/wheelhouse/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp39-cp39-linux_x86_64.whl | |
if-no-files-found: error | |
retention-days: 60 | |
build-linux-conda-py38: | |
needs: prepare-build-info | |
if: false | |
runs-on: ubuntu-22.04 | |
name: Build for Linux + Python 3.8 | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Build Python bindings with Miniconda | |
run: recipe/build_linux_x86_64_conda.sh 38 | |
env: | |
TOPOLOGIC_VERSION: ${{ needs.prepare-build-info.outputs.anyversion }} | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp38-cp38-linux_x86_64.whl | |
path: TopologicPythonBindings/wheelhouse/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp38-cp38-linux_x86_64.whl | |
if-no-files-found: error | |
retention-days: 60 | |
############################################################################## | |
# All stable Windows builds. | |
############################################################################## | |
build-windows-py312: | |
needs: prepare-build-info | |
if: true | |
runs-on: windows-2022 | |
name: Build for Windows + Python 3.12 | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Prepare Miniconda environment | |
run: recipe/build_win_amd64_conda.bat /createenv 312 | |
shell: cmd | |
- name: Build Python bindings with Miniconda | |
run: recipe/build_win_amd64_conda.bat /useenv 312 | |
shell: cmd | |
env: | |
TOPOLOGIC_VERSION: ${{ needs.prepare-build-info.outputs.anyversion }} | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp312-cp312-win_amd64.whl | |
path: TopologicPythonBindings/wheelhouse/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp312-cp312-win_amd64.whl | |
if-no-files-found: error | |
retention-days: 60 | |
build-windows-py311: | |
needs: prepare-build-info | |
if: true | |
runs-on: windows-2022 | |
name: Build for Windows + Python 3.11 | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Prepare Miniconda environment | |
run: recipe/build_win_amd64_conda.bat /createenv 311 | |
shell: cmd | |
- name: Build Python bindings with Miniconda | |
run: recipe/build_win_amd64_conda.bat /useenv 311 | |
shell: cmd | |
env: | |
TOPOLOGIC_VERSION: ${{ needs.prepare-build-info.outputs.anyversion }} | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp311-cp311-win_amd64.whl | |
path: TopologicPythonBindings/wheelhouse/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp311-cp311-win_amd64.whl | |
if-no-files-found: error | |
retention-days: 60 | |
build-windows-py310: | |
needs: prepare-build-info | |
if: true | |
runs-on: windows-2022 | |
name: Build for Windows + Python 3.10 | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Prepare Miniconda environment | |
run: recipe/build_win_amd64_conda.bat /createenv 310 | |
shell: cmd | |
- name: Build Python bindings with Miniconda | |
run: recipe/build_win_amd64_conda.bat /useenv 310 | |
shell: cmd | |
env: | |
TOPOLOGIC_VERSION: ${{ needs.prepare-build-info.outputs.anyversion }} | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp310-cp310-win_amd64.whl | |
path: TopologicPythonBindings/wheelhouse/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp310-cp310-win_amd64.whl | |
if-no-files-found: error | |
retention-days: 60 | |
build-windows-py39: | |
needs: prepare-build-info | |
if: true | |
runs-on: windows-2022 | |
name: Build for Windows + Python 3.9 | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Prepare Miniconda environment | |
run: recipe/build_win_amd64_conda.bat /createenv 39 | |
shell: cmd | |
- name: Build Python bindings with Miniconda | |
run: recipe/build_win_amd64_conda.bat /useenv 39 | |
shell: cmd | |
env: | |
TOPOLOGIC_VERSION: ${{ needs.prepare-build-info.outputs.anyversion }} | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp39-cp39-win_amd64.whl | |
path: TopologicPythonBindings/wheelhouse/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp39-cp39-win_amd64.whl | |
if-no-files-found: error | |
retention-days: 60 | |
build-windows-py38: | |
needs: prepare-build-info | |
if: true | |
runs-on: windows-2022 | |
name: Build for Windows + Python 3.8 | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Prepare Miniconda environment | |
run: recipe/build_win_amd64_conda.bat /createenv 38 | |
shell: cmd | |
- name: Build Python bindings with Miniconda | |
run: recipe/build_win_amd64_conda.bat /useenv 38 | |
shell: cmd | |
env: | |
TOPOLOGIC_VERSION: ${{ needs.prepare-build-info.outputs.anyversion }} | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp38-cp38-win_amd64.whl | |
path: TopologicPythonBindings/wheelhouse/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp38-cp38-win_amd64.whl | |
if-no-files-found: error | |
retention-days: 60 | |
############################################################################## | |
# All stable macOS 14 builds. Currently, only `macos-14` is ARM64. | |
# There's `macos-13-xlarge` on ARM64 which is not free. | |
############################################################################## | |
build-macos-py312: | |
needs: prepare-build-info | |
if: true | |
runs-on: macos-14 | |
name: Build for macOS + Python 3.12 | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Build Python bindings with Miniconda | |
run: recipe/build_macos_arm64_conda.sh 312 11 | |
env: | |
TOPOLOGIC_VERSION: ${{ needs.prepare-build-info.outputs.anyversion }} | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp312-cp312-macosx_11_0_arm64.whl | |
path: TopologicPythonBindings/wheelhouse/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp312-cp312-macosx_11_0_arm64.whl | |
if-no-files-found: error | |
retention-days: 60 | |
build-macos-py311: | |
needs: prepare-build-info | |
if: true | |
runs-on: macos-14 | |
name: Build for macOS + Python 3.11 | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Build Python bindings with Miniconda | |
run: recipe/build_macos_arm64_conda.sh 311 11 | |
env: | |
TOPOLOGIC_VERSION: ${{ needs.prepare-build-info.outputs.anyversion }} | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp311-cp311-macosx_11_0_arm64.whl | |
path: TopologicPythonBindings/wheelhouse/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp311-cp311-macosx_11_0_arm64.whl | |
if-no-files-found: error | |
retention-days: 60 | |
build-macos-py310: | |
needs: prepare-build-info | |
if: true | |
runs-on: macos-14 | |
name: Build for macOS + Python 3.10 | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Build Python bindings with Miniconda | |
run: recipe/build_macos_arm64_conda.sh 310 11 | |
env: | |
TOPOLOGIC_VERSION: ${{ needs.prepare-build-info.outputs.anyversion }} | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp310-cp310-macosx_11_0_arm64.whl | |
path: TopologicPythonBindings/wheelhouse/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp310-cp310-macosx_11_0_arm64.whl | |
if-no-files-found: error | |
retention-days: 60 | |
build-macos-py39: | |
needs: prepare-build-info | |
if: true | |
runs-on: macos-14 | |
name: Build for macOS + Python 3.9 | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Build Python bindings with Miniconda | |
run: recipe/build_macos_arm64_conda.sh 39 11 | |
env: | |
TOPOLOGIC_VERSION: ${{ needs.prepare-build-info.outputs.anyversion }} | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp39-cp39-macosx_11_0_arm64.whl | |
path: TopologicPythonBindings/wheelhouse/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp39-cp39-macosx_11_0_arm64.whl | |
if-no-files-found: error | |
retention-days: 60 | |
build-macos-py38: | |
needs: prepare-build-info | |
if: true | |
runs-on: macos-14 | |
name: Build for macOS + Python 3.8 | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Build Python bindings with Miniconda | |
run: recipe/build_macos_arm64_conda.sh 38 11 | |
env: | |
TOPOLOGIC_VERSION: ${{ needs.prepare-build-info.outputs.anyversion }} | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp38-cp38-macosx_11_0_arm64.whl | |
path: TopologicPythonBindings/wheelhouse/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp38-cp38-macosx_11_0_arm64.whl | |
if-no-files-found: error | |
retention-days: 60 | |
############################################################################## | |
# Unstable Linux build (currently Python 3.13 alpha). | |
############################################################################## | |
build-linux-py313: | |
needs: prepare-build-info | |
if: true | |
runs-on: ubuntu-22.04 | |
name: Build for Linux + Python 3.13 | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
########################################################################## | |
# Try to download dependencies previously built. | |
########################################################################## | |
- name: Download artifact (precompiled openCASCADE) | |
uses: actions/download-artifact@v4 | |
continue-on-error: true | |
with: | |
github-token: ${{ github.token }} | |
path: my-artifact | |
run-id: ${{ vars.ARTIFACT_RUN_ID_FOR_OCCT_WITH_LINUX_PY313_REV1 }} | |
- name: Extract artifact (built openCASCADE) as ./occt-installed/ | |
if: ${{ vars.ARTIFACT_RUN_ID_FOR_OCCT_WITH_LINUX_PY313_REV1 }} | |
id: extract-artifact | |
run: | | |
if test -f my-artifact/occt-installed.tar.gz/occt-installed.tar.gz; then | |
tar xvfz my-artifact/occt-installed.tar.gz/occt-installed.tar.gz | |
echo "extracted=true" >> "$GITHUB_OUTPUT" | |
ls -l | |
fi | |
########################################################################## | |
# If there are no dependencies previously built, then build them now. | |
########################################################################## | |
- name: Build OpenCASCADE 7.8.1 (takes 1h in a small container) | |
if: ${{ steps.extract-artifact.outputs.extracted != 'true' }} | |
run: recipe/build_linux_x86_64_noconda.sh --only-deps | |
- name: Upload OpenCASCADE artifact | |
if: ${{ steps.extract-artifact.outputs.extracted != 'true' }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: occt-installed.tar.gz | |
path: ${{ github.workspace }}/occt-installed.tar.gz | |
if-no-files-found: error | |
retention-days: 90 | |
########################################################################## | |
- name: Setup Python 3.13 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.13 | |
allow-prereleases: true | |
# To solve: "error: invalid command 'bdist_wheel'" | |
- name: Upgrade wheel and setuptools | |
run: | | |
pip install wheel | |
pip install --upgrade --force setuptools | |
- name: Build Python bindings | |
run: recipe/build_linux_x86_64_noconda.sh --no-deps | |
env: | |
TOPOLOGIC_VERSION: ${{ needs.prepare-build-info.outputs.anyversion }} | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp313-cp313-linux_x86_64.whl | |
path: TopologicPythonBindings/wheelhouse/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp313-cp313-linux_x86_64.whl | |
if-no-files-found: error | |
retention-days: 60 | |
############################################################################## | |
# Unstable Windows build (currently Python 3.13 alpha). | |
############################################################################## | |
build-windows-py313: | |
needs: prepare-build-info | |
if: true | |
runs-on: windows-2022 | |
name: Build for Windows + Python 3.13 | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Setup Python 3.13 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.13 | |
allow-prereleases: true | |
# To solve: "error: invalid command 'bdist_wheel'" | |
- name: Upgrade wheel and setuptools | |
run: | | |
pip install wheel | |
pip install --upgrade --force setuptools | |
- name: Build Python bindings | |
run: recipe/build_win_amd64_noconda.bat | |
env: | |
TOPOLOGIC_VERSION: ${{ needs.prepare-build-info.outputs.anyversion }} | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp313-cp313-win_amd64.whl | |
path: TopologicPythonBindings/wheelhouse/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp313-cp313-win_amd64.whl | |
if-no-files-found: error | |
retention-days: 60 | |
############################################################################## | |
# Unstable macOS 12 and 14 builds (currently Python 3.13 alpha). | |
############################################################################## | |
build-macos-py313: | |
needs: prepare-build-info | |
if: true | |
runs-on: macos-14 | |
name: Build for macOS + Python 3.13 | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Setup Python 3.13 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.13 | |
allow-prereleases: true | |
# To solve: "error: invalid command 'bdist_wheel'" | |
- name: Upgrade wheel and setuptools | |
run: | | |
pip install wheel | |
pip install --upgrade --force setuptools | |
- name: Build Python bindings | |
run: recipe/build_macos_arm64_noconda.sh | |
env: | |
TOPOLOGIC_VERSION: ${{ needs.prepare-build-info.outputs.anyversion }} | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp313-cp313-macosx_14_0_arm64.whl | |
path: TopologicPythonBindings/wheelhouse/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp313-cp313-macosx_14_0_arm64.whl | |
if-no-files-found: error | |
retention-days: 60 | |
############################################################################## | |
# Publish release if previous job 'prepare-build-info' succeeded and | |
# `tagname` and `branchname` are satisfied. | |
############################################################################## | |
publish-pypi-release: | |
needs: | |
- prepare-build-info | |
- build-linux-manylinux-py-all | |
#- build-linux-conda-py312 | |
#- build-linux-conda-py311 | |
#- build-linux-conda-py310 | |
#- build-linux-conda-py39 | |
#- build-linux-conda-py38 | |
- build-windows-py313 | |
- build-windows-py312 | |
- build-windows-py311 | |
- build-windows-py310 | |
- build-windows-py39 | |
- build-windows-py38 | |
- build-macos-py313 | |
- build-macos-py312 | |
- build-macos-py311 | |
- build-macos-py310 | |
- build-macos-py39 | |
- build-macos-py38 | |
name: Consider & Publish PyPI Release | |
if: ${{ startsWith(needs.prepare-build-info.outputs.tagname, 'v') && github.event_name != 'pull_request' && (needs.prepare-build-info.outputs.branchname == 'prerelease' || needs.prepare-build-info.outputs.branchname == 'main') }} | |
runs-on: ubuntu-22.04 | |
permissions: | |
# IMPORTANT: mandatory for trusted publishing | |
id-token: write | |
environment: | |
name: release | |
url: https://pypi.org/p/topologic-core | |
steps: | |
- name: Download all artifact files (.whl) | |
uses: actions/download-artifact@v4 | |
with: | |
path: all-artifacts | |
- name: Display new structure of downloaded files | |
# Skip '-linux_' builds if found, PyPI rejects them; use -manylinux*. | |
run: | | |
mkdir -p dist | |
find ./all-artifacts/ -type f -iname "*.whl" -exec mv {} ./dist/ \; | |
find ./dist/ -type f -iname "*-linux_*.whl" -exec rm {} \; | |
ls -R dist | |
- name: Publish package ${{ needs.prepare-build-info.outputs.tagname }} distributions to PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
packages-dir: dist/ | |
print-hash: true | |
draft-github-release: | |
needs: | |
# Without succesful publishing to PyPI, there shouldn't be a Release Page. | |
- publish-pypi-release | |
- prepare-build-info | |
- build-linux-manylinux-py-all | |
#- build-linux-conda-py312 | |
#- build-linux-conda-py311 | |
#- build-linux-conda-py310 | |
#- build-linux-conda-py39 | |
#- build-linux-conda-py38 | |
- build-windows-py313 | |
- build-windows-py312 | |
- build-windows-py311 | |
- build-windows-py310 | |
- build-windows-py39 | |
- build-windows-py38 | |
- build-macos-py313 | |
- build-macos-py312 | |
- build-macos-py311 | |
- build-macos-py310 | |
- build-macos-py39 | |
- build-macos-py38 | |
if: ${{ startsWith(needs.prepare-build-info.outputs.tagname, 'v') && github.event_name != 'pull_request' && needs.prepare-build-info.outputs.branchname == 'main' }} | |
name: Consider & Draft GitHub Release Page | |
runs-on: ubuntu-22.04 | |
permissions: | |
# IMPORTANT: mandatory for GitHub Releases | |
contents: write | |
steps: | |
- name: Download all artifact files (.whl) | |
uses: actions/download-artifact@v4 | |
with: | |
path: all-artifacts | |
- name: Display structure of downloaded files | |
run: ls -R all-artifacts | |
- name: Draft GitHub Release Page ${{ needs.prepare-build-info.outputs.tagname }} | |
uses: actions/create-release@v1 | |
id: create_release | |
with: | |
draft: true | |
prerelease: false | |
release_name: ${{ needs.prepare-build-info.outputs.tagname }} | |
tag_name: ${{ needs.prepare-build-info.outputs.tagname }} | |
body: Changes in this Release | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
########################################################################## | |
# Add each file one by one for publishing on GitHub Release Page. | |
########################################################################## | |
######### | |
# Linux # | |
######### | |
# For manylinux. | |
- name: Release artifact topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | |
if: ${{ needs.build-linux-manylinux-py-all }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: all-artifacts/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | |
asset_name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | |
asset_content_type: application/zip | |
- name: Release artifact topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | |
if: ${{ needs.build-linux-manylinux-py-all }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: all-artifacts/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | |
asset_name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | |
asset_content_type: application/zip | |
- name: Release artifact topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | |
if: ${{ needs.build-linux-manylinux-py-all }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: all-artifacts/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | |
asset_name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | |
asset_content_type: application/zip | |
- name: Release artifact topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | |
if: ${{ needs.build-linux-manylinux-py-all }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: all-artifacts/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | |
asset_name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | |
asset_content_type: application/zip | |
- name: Release artifact topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | |
if: ${{ needs.build-linux-manylinux-py-all }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: all-artifacts/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | |
asset_name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | |
asset_content_type: application/zip | |
# Unstable | |
- name: Release artifact topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp313-cp313-linux_x86_64.whl | |
if: ${{ needs.build-linux-py313 }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: all-artifacts/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp313-cp313-linux_x86_64.whl/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp313-cp313-linux_x86_64.whl | |
asset_name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp313-cp313-linux_x86_64.whl | |
asset_content_type: application/zip | |
# with conda. | |
- name: Release artifact topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp312-cp312-linux_x86_64.whl | |
if: ${{ needs.build-linux-conda-py312 }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: all-artifacts/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp312-cp312-linux_x86_64.whl/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp312-cp312-linux_x86_64.whl | |
asset_name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp312-cp312-linux_x86_64.whl | |
asset_content_type: application/zip | |
- name: Release artifact topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp311-cp311-linux_x86_64.whl | |
if: ${{ needs.build-linux-conda-py311 }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: all-artifacts/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp311-cp311-linux_x86_64.whl/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp311-cp311-linux_x86_64.whl | |
asset_name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp311-cp311-linux_x86_64.whl | |
asset_content_type: application/zip | |
- name: Release artifact topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp310-cp310-linux_x86_64.whl | |
if: ${{ needs.build-linux-conda-py310 }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: all-artifacts/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp310-cp310-linux_x86_64.whl/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp310-cp310-linux_x86_64.whl | |
asset_name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp310-cp310-linux_x86_64.whl | |
asset_content_type: application/zip | |
- name: Release artifact topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp39-cp39-linux_x86_64.whl | |
if: ${{ needs.build-linux-conda-py39 }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: all-artifacts/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp39-cp39-linux_x86_64.whl/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp39-cp39-linux_x86_64.whl | |
asset_name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp39-cp39-linux_x86_64.whl | |
asset_content_type: application/zip | |
- name: Release artifact topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp38-cp38-linux_x86_64.whl | |
if: ${{ needs.build-linux-conda-py38 }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: all-artifacts/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp38-cp38-linux_x86_64.whl/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp38-cp38-linux_x86_64.whl | |
asset_name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp38-cp38-linux_x86_64.whl | |
asset_content_type: application/zip | |
######### | |
# macOS # | |
######### | |
- name: Release artifact topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp313-cp313-macosx_14_0_arm64.whl | |
if: ${{ needs.build-macos-py313 }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: all-artifacts/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp313-cp313-macosx_14_0_arm64.whl/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp313-cp313-macosx_14_0_arm64.whl | |
asset_name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp313-cp313-macosx_14_0_arm64.whl | |
asset_content_type: application/zip | |
- name: Release artifact topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp312-cp312-macosx_11_0_arm64.whl | |
if: ${{ needs.build-macos-py312 }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: all-artifacts/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp312-cp312-macosx_11_0_arm64.whl/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp312-cp312-macosx_11_0_arm64.whl | |
asset_name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp312-cp312-macosx_11_0_arm64.whl | |
asset_content_type: application/zip | |
- name: Release artifact topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp311-cp311-macosx_11_0_arm64.whl | |
if: ${{ needs.build-macos-py311 }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: all-artifacts/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp311-cp311-macosx_11_0_arm64.whl/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp311-cp311-macosx_11_0_arm64.whl | |
asset_name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp311-cp311-macosx_11_0_arm64.whl | |
asset_content_type: application/zip | |
- name: Release artifact topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp310-cp310-macosx_11_0_arm64.whl | |
if: ${{ needs.build-macos-py310 }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: all-artifacts/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp310-cp310-macosx_11_0_arm64.whl/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp310-cp310-macosx_11_0_arm64.whl | |
asset_name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp310-cp310-macosx_11_0_arm64.whl | |
asset_content_type: application/zip | |
- name: Release artifact topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp39-cp39-macosx_11_0_arm64.whl | |
if: ${{ needs.build-macos-py39 }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: all-artifacts/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp39-cp39-macosx_11_0_arm64.whl/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp39-cp39-macosx_11_0_arm64.whl | |
asset_name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp39-cp39-macosx_11_0_arm64.whl | |
asset_content_type: application/zip | |
- name: Release artifact topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp38-cp38-macosx_11_0_arm64.whl | |
if: ${{ needs.build-macos-py38 }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: all-artifacts/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp38-cp38-macosx_11_0_arm64.whl/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp38-cp38-macosx_11_0_arm64.whl | |
asset_name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp38-cp38-macosx_11_0_arm64.whl | |
asset_content_type: application/zip | |
########### | |
# Windows # | |
########### | |
- name: Release artifact topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp313-cp313-win_amd64.whl | |
if: ${{ needs.build-windows-py313 }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: all-artifacts/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp313-cp313-win_amd64.whl/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp313-cp313-win_amd64.whl | |
asset_name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp313-cp313-win_amd64.whl | |
asset_content_type: application/zip | |
- name: Release artifact topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp312-cp312-win_amd64.whl | |
if: ${{ needs.build-windows-py312 }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: all-artifacts/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp312-cp312-win_amd64.whl/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp312-cp312-win_amd64.whl | |
asset_name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp312-cp312-win_amd64.whl | |
asset_content_type: application/zip | |
- name: Release artifact topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp311-cp311-win_amd64.whl | |
if: ${{ needs.build-windows-py311 }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: all-artifacts/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp311-cp311-win_amd64.whl/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp311-cp311-win_amd64.whl | |
asset_name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp311-cp311-win_amd64.whl | |
asset_content_type: application/zip | |
- name: Release artifact topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp310-cp310-win_amd64.whl | |
if: ${{ needs.build-windows-py310 }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: all-artifacts/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp310-cp310-win_amd64.whl/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp310-cp310-win_amd64.whl | |
asset_name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp310-cp310-win_amd64.whl | |
asset_content_type: application/zip | |
- name: Release artifact topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp39-cp39-win_amd64.whl | |
if: ${{ needs.build-windows-py39 }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: all-artifacts/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp39-cp39-win_amd64.whl/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp39-cp39-win_amd64.whl | |
asset_name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp39-cp39-win_amd64.whl | |
asset_content_type: application/zip | |
- name: Release artifact topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp38-cp38-win_amd64.whl | |
if: ${{ needs.build-windows-py38 }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: all-artifacts/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp38-cp38-win_amd64.whl/topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp38-cp38-win_amd64.whl | |
asset_name: topologic_core-${{ needs.prepare-build-info.outputs.anyversion }}-cp38-cp38-win_amd64.whl | |
asset_content_type: application/zip |