forked from CellProfiler/CellProfiler
-
Notifications
You must be signed in to change notification settings - Fork 2
144 lines (142 loc) · 5.06 KB
/
release.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
jobs:
build:
name: build
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ macos-13, windows-2019 ]
python-version: [ "3.8" ]
fail-fast: false
steps:
- uses: actions/checkout@v4
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.0.20+8" # 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==2024.2
pip install pyinstaller==5.13.2
pip install imageio==2.34.0
pip install cython
pip install lxml
- 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 graphicsmagick imagemagick
npm install --global create-dmg
brew install [email protected]
brew link [email protected]
pip install mysqlclient==2.0.3
pip install https://github.com/DavidStirling/prokaryote/releases/download/v2.4.5/prokaryote-2.4.5.tar.gz --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
cd ..
pip install https://github.com/DavidStirling/python-bioformats/releases/download/v4.1.10001/python_bioformats-4.1.10001-py3-none-any.whl
pip install --editable .
- env:
JDK_HOME: ${{ env.JAVA_HOME }}
CPPFLAGS: -I/usr/local/opt/[email protected]/include
LDFLAGS: "-L/usr/local/opt/[email protected]/lib -L/usr/local/opt/openssl/lib"
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 https://github.com/DavidStirling/prokaryote/releases/download/v2.4.5/prokaryote-2.4.5.tar.gz --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
cd ..
pip install https://github.com/DavidStirling/python-bioformats/releases/download/v4.1.10001/python_bioformats-4.1.10001-py3-none-any.whl
pip install --editable .
pip install wxpython==4.1.1
- 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
rm ./dist/CellProfiler/jvm.dll
iscc /dMyAppVersion="4.2.80001-ai" "distribution/windows/cellprofiler.iss"
- if: startsWith(matrix.os, 'macos')
name: MacOS pyinstaller build and package
run: |
pyinstaller -y ./distribution/macos/CellProfiler.spec
- if: startsWith(matrix.os, 'macos')
name: MacOS dmg package
continue-on-error: true
run: |
cd dist
echo Creating DMG
create-dmg 'CellProfiler+AI.app' --dmg-title "CellProfiler+AI.dmg"
- if: startsWith(matrix.os, 'macos')
uses: actions/upload-artifact@v4
name: MacOS dmg upload
with:
name: CellProfiler-macOS-4.2.80001-ai.dmg
path: ./dist/*.dmg
- if: startsWith(matrix.os, 'windows')
uses: actions/upload-artifact@v4
name: Windows artifact upload
with:
name: CellProfiler-Windows-4.2.80001-ai.exe
path: ./distribution/windows/Output/*.exe
upload:
name: upload
needs: build
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
with:
path: ./
merge-multiple: true
- name: Create release
uses: softprops/action-gh-release@v2
with:
draft: true
files: |
./*.exe
./*.dmg
name: create-release
on:
push:
branches:
- compat-4-2-ai
tags:
- "v*"
pull_request:
branches:
- compat-4-2-ai