Update 4.2 AI build #75
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
jobs: | |
build: | |
name: build | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ macos-latest, windows-2019 ] | |
python-version: [ "3.8" ] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v2 | |
name: Checkout Repo | |
- uses: actions/setup-python@v4 | |
name: Install Python | |
with: | |
architecture: x64 | |
python-version: ${{ matrix.python-version }} | |
cache: pip | |
cache-dependency-path: setup.py | |
- uses: actions/setup-java@v3 | |
name: Install Java | |
with: | |
distribution: "temurin" | |
java-version: "11" # The JDK version to make available on the path. | |
java-package: jdk | |
architecture: x64 | |
- name: Install build-time dependencies | |
run: | | |
pip install --upgrade wheel pip | |
pip install setuptools==49 | |
pip install numpy==1.23.1 | |
pip install pyinstaller-hooks-contrib==2023.8 | |
pip install pyinstaller==4.10 | |
pip install imageio==2.34.0 | |
pip install cython | |
- env: | |
LDFLAGS: -L/usr/local/opt/openssl/lib | |
CERTIFICATE_OSX_APPLICATION: ${{ secrets.CERTIFICATE_OSX_APPLICATION }} | |
CERTIFICATE_PASSWORD: ${{ secrets.CERTIFICATE_PASSWORD }} | |
if: startsWith(matrix.os, 'macos') | |
name: MacOS dependency install | |
run: | | |
brew install mysql@8.0 | |
brew link mysql@8.0 | |
curl -L https://github.com/create-dmg/create-dmg/archive/refs/tags/v1.1.0.zip -o dmg.zip | |
unzip dmg.zip | |
cd create-dmg-1.1.0 | |
make install | |
cd .. | |
pip install mysqlclient==2.0.3 | |
pip install centrosome==1.2.2 --no-cache-dir --no-build-isolation | |
git clone https://github.com/glencoesoftware/core.git | |
cd core | |
git checkout compat-4-2 | |
pip install --editable . --upgrade --no-use-pep517 | |
cd .. | |
pip install --editable . --no-use-pep517 | |
- env: | |
JDK_HOME: ${{ env.JAVA_HOME }} | |
if: startsWith(matrix.os, 'windows') | |
name: Windows dependency install | |
run: | | |
python -m pip install --upgrade pip setuptools wheel | |
pip install mysqlclient==2.0.3 | |
pip install centrosome==1.2.2 --no-cache-dir --no-build-isolation | |
git clone https://github.com/glencoesoftware/core.git | |
cd core | |
git checkout compat-4-2 | |
pip install --editable . --upgrade --no-use-pep517 | |
cd .. | |
pip install --editable . --no-use-pep517 | |
- name: Install plugins | |
run: | | |
pip install torch==2.2.1 | |
pip install cellpose==3.0.5 | |
pip install csbdeep==0.7.4 | |
pip install stardist==0.8.1 | |
pip install tensorflow==2.12.1 | |
pip install markupsafe==2.0.1 | |
pip install h5py==3.6.0 | |
- name: Display installed packages | |
run: pip list | |
- if: startsWith(matrix.os, 'windows') | |
name: Windows pyinstaller build and package | |
run: | | |
pyinstaller distribution/windows/cellprofiler.spec | |
iscc /dMyAppVersion="4.2.10006-ai" "distribution/windows/cellprofiler.iss" | |
- if: startsWith(matrix.os, 'macos') | |
name: MacOS pyinstaller build and package | |
run: | | |
pyinstaller -y ./distribution/macos/CellProfiler.spec | |
create-dmg \ | |
--volname "CellProfiler" \ | |
--window-pos 200 120 \ | |
--window-size 800 529 \ | |
--icon-size 130 \ | |
--text-size 14 \ | |
--icon "CellProfiler+AI.app" 260 250 \ | |
--app-drop-link 540 250 \ | |
--hdiutil-quiet \ | |
"./dist/CellProfiler-macOS-4.2.10006-ai.dmg" \ | |
"./dist/CellProfiler+AI.app" | |
- if: startsWith(matrix.os, 'macos') | |
uses: actions/upload-artifact@v1 | |
name: MacOS artifact upload | |
with: | |
name: CellProfiler-macOS-4.2.10006-ai.dmg | |
path: ./dist/CellProfiler-macOS-4.2.10006-ai.dmg | |
- if: startsWith(matrix.os, 'windows') | |
uses: actions/upload-artifact@v2 | |
name: Windows artifact upload | |
with: | |
name: CellProfiler-Windows-4.2.10006-ai.exe | |
path: ./distribution/windows/Output/CellProfiler-Windows-4.2.10006-ai.exe | |
upload: | |
name: upload | |
needs: build | |
runs-on: ubuntu-latest | |
if: startsWith(github.ref, 'refs/tags/') | |
steps: | |
- uses: actions/checkout@v2 | |
- env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
id: create_release | |
uses: actions/create-release@v1 | |
with: | |
draft: true | |
prerelease: true | |
release_name: ${{ github.ref }} | |
tag_name: ${{ github.ref }} | |
- uses: actions/download-artifact@v1 | |
with: | |
name: CellProfiler-macOS-4.2.10006-ai.dmg | |
path: ./ | |
- uses: actions/download-artifact@v1 | |
with: | |
name: CellProfiler-Windows-4.2.10006-ai.exe | |
path: ./ | |
- env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
uses: actions/upload-release-asset@v1 | |
with: | |
asset_content_type: application/zip | |
asset_name: CellProfiler-macOS-4.2.10006-ai.dmg | |
asset_path: /home/runner/work/CellProfiler/CellProfiler/CellProfiler-macOS-4.2.10006-ai.dmg | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
- env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
uses: actions/upload-release-asset@v1 | |
with: | |
asset_content_type: application/exe | |
asset_name: CellProfiler-Windows-4.2.10006-ai.exe | |
asset_path: /home/runner/work/CellProfiler/CellProfiler/CellProfiler-Windows-4.2.10006-ai.exe | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
name: create-release | |
on: | |
push: | |
branches: | |
- compat-4-2-ai | |
tags: | |
- "v*" | |
pull_request: | |
branches: | |
- compat-4-2-ai |