Skip to content

add cadquery via miniconda #49

add cadquery via miniconda

add cadquery via miniconda #49

name: Build and Release
on:
push:
tags:
- 'v*.*.*'
jobs:
build-linux:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.11'
- name: Install Poetry
run: |
curl -sSL https://install.python-poetry.org | python3 -
- name: Install dependencies
run: |
poetry install
poetry add pyinstaller
- name: Build executable as directory for Linux
run: |
poetry run pyinstaller --name orion --onedir --add-data "orion_cli/services/*.py:orion_cli/services" orion_cli/cli.py
- name: Rename output directory
run: |
mv dist/orion dist/orion_linux
- name: Zip the output directory
run: |
cd dist && zip -r orion_linux.zip orion_linux
- name: Upload zipped executable
uses: actions/upload-artifact@v2
with:
name: orion_linux
path: dist/orion_linux.zip
build-macos-intel:
runs-on: macos-13
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.11'
- name: Install Poetry
uses: snok/install-poetry@v1
- name: Install dependencies
run: |
poetry install
poetry add pyinstaller
- name: Build executable as directory
run: |
poetry run pyinstaller --name orion --onedir --add-data "orion_cli/services/*.py:orion_cli/services" orion_cli/cli.py
- name: Rename output directory
run: |
mv dist/orion dist/orion_intel
- name: Zip the output directory
run: |
cd dist && zip -r orion_intel.zip orion_intel
- name: Upload zipped executable
uses: actions/upload-artifact@v2
with:
name: orion_intel
path: dist/orion_intel.zip
build-macos-arm:
runs-on: macos-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.11'
- name: Install Miniconda
shell: bash
run: |
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh -O miniconda.sh
bash miniconda.sh -b -p $HOME/miniconda
eval "$($HOME/miniconda/bin/conda shell.bash hook)"
conda init
source ~/.bashrc
- name: Create and activate conda environment
shell: bash
run: |
conda create -n cq python=3.11 -y
conda activate cq
conda install mamba -n base -c conda-forge
mamba install -c conda-forge cadquery -y
- name: Install Poetry
shell: bash
run: |
curl -sSL https://install.python-poetry.org | python3 -
- name: Install dependencies
shell: bash
run: |
conda activate cq
poetry install
poetry add pyinstaller
- name: Build executable as directory for Apple Silicon macOS
shell: bash
run: |
conda activate cq
poetry run pyinstaller --name orion --onedir --add-data "orion_cli/services/*.py:orion_cli/services" orion_cli/cli.py
- name: Rename output directory
shell: bash
run: |
mv dist/orion dist/orion_arm
- name: Zip the output directory
shell: bash
run: |
cd dist && zip -r orion_arm.zip orion_arm
- name: Upload zipped executable
uses: actions/upload-artifact@v2
with:
name: orion_arm
path: dist/orion_arm.zip
build-windows:
runs-on: windows-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.11'
- name: Install Poetry
run: |
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -
shell: powershell
- name: Add Poetry to PATH
run: |
$env:Path += ";C:\Users\runneradmin\AppData\Roaming\Python\Scripts"
[Environment]::SetEnvironmentVariable("Path", $env:Path, [EnvironmentVariableTarget]::Process)
C:\Users\runneradmin\AppData\Roaming\Python\Scripts\poetry --version
shell: powershell
- name: Install dependencies
run: |
C:\Users\runneradmin\AppData\Roaming\Python\Scripts\poetry install
C:\Users\runneradmin\AppData\Roaming\Python\Scripts\poetry add pyinstaller
shell: powershell
- name: Build executable as directory for Windows
run: |
C:\Users\runneradmin\AppData\Roaming\Python\Scripts\poetry run pyinstaller --name orion --onedir --add-data "orion_cli/services/*.py;orion_cli/services" orion_cli/cli.py
shell: powershell
- name: Rename output directory
run: |
Rename-Item -Path dist\orion -NewName orion_windows
shell: powershell
- name: Zip the output directory
run: |
Compress-Archive -Path dist\orion_windows -DestinationPath dist\orion_windows.zip
shell: powershell
- name: Upload zipped executable
uses: actions/upload-artifact@v2
with:
name: orion_windows
path: dist\orion_windows.zip
release:
needs: [build-linux, build-macos-intel, build-macos-arm, build-windows]
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Download Linux artifact
uses: actions/download-artifact@v2
with:
name: orion_linux
path: ./release_artifacts/orion_linux
- name: Download Intel macOS artifact
uses: actions/download-artifact@v2
with:
name: orion_intel
path: ./release_artifacts/orion_intel
- name: Download Apple Silicon macOS artifact
uses: actions/download-artifact@v2
with:
name: orion_arm
path: ./release_artifacts/orion_arm
- name: Download Windows artifact
uses: actions/download-artifact@v2
with:
name: orion_windows
path: ./release_artifacts/orion_windows
- name: Upload to GitHub Releases
uses: softprops/action-gh-release@v1
with:
files: |
./release_artifacts/orion_linux/orion_linux.zip
./release_artifacts/orion_intel/orion_intel.zip
./release_artifacts/orion_arm/orion_arm.zip
./release_artifacts/orion_windows/orion_windows.zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}