Skip to content

Commit

Permalink
Merge pull request #12 from Syntist/Windows-implementation-and-working
Browse files Browse the repository at this point in the history
Updated Windows Implementation
  • Loading branch information
Prof-S authored Nov 26, 2024
2 parents e6a6ea7 + ed7adb4 commit b107033
Show file tree
Hide file tree
Showing 17 changed files with 424 additions and 180 deletions.
79 changes: 79 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,3 +108,82 @@ jobs:
asset_path: ./installer.bin
asset_name: installer.bin
asset_content_type: application/octet-stream

electron-release-win:
needs: create-release
runs-on: windows-latest

defaults:
run:
working-directory: ./electron-app

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: "20"

- name: Install dependencies
run: npm install

- name: Build and Package for Windows
run: npm run release

- name: Get Release Asset Path
id: get_asset_path
run: |
asset_path=$(find ./dist -type f -name '*.zip')
echo "asset_path=$asset_path" >> $GITHUB_ENV
echo "asset_name=$(basename $asset_path)" >> $GITHUB_ENV
shell: bash

- name: Upload Release Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create-release.outputs.upload_url }}
asset_path: ./electron-app/dist/${{ env.asset_name }}
asset_name: ${{ env.asset_name }}
asset_content_type: application/zip

installer-release-win:
needs: create-release
runs-on: windows-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.10'

- name: Install Nuitka
run: |
python -m pip install --upgrade pip
python -m pip install cx_freeze requests tqdm
- name: Build Standalone Installer
env:
NUITKA_DOWNLOADS: yes
run: |
cxfreeze --script installer.py --target-dir dist
- name: Zip the output
run: |
powershell Compress-Archive -Path "dist\*" -DestinationPath "installer-win.zip"
- name: Upload Release Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create-release.outputs.upload_url }}
asset_path: ./installer-win.zip
asset_name: installer-win.zip
asset_content_type: application/octet-stream
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,6 @@ ProteoRift-main
config.ini
env.json
maestro-*
ProteoRift
ProteoRift*
.venv
installer*
36 changes: 24 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,26 @@
# MAESTRO
An interconnected set of open source machine-learning models for large-scale mass spectrometry based omics analysis.

## Setup ENV for SpeCollate
```
conda create -n specollate python=3.10 anaconda
conda activate specollate
python -m pip install -r SpeCollate/requirements.txt
```
## Windows

## Setup ENV for Electron
### Pre-requist:
```
nvm install 20
cd electron-app
npm install
python 3.10
CUDA Toolkit
```

## To Run We can just run Installer
If you have nvidia gpu, download the cuda toolkit from here https://developer.nvidia.com/cuda-downloads

To run on windows, go to https://github.com/pcdslab/MAESTRO/release, download the latest installer.exe

It will download the required packages and run the application.

If you face any bugs/issues please report the issues Thanks.


Download installer.bin from release
## Linux

Download installer.bin from release https://github.com/pcdslab/MAESTRO/release

Require Dependencies >= Ubuntu 20.04
```
Expand All @@ -28,4 +31,13 @@ Now Run the Installer
```
chmod +x installer.bin
./installer.bin
```

If you face any bugs/issues please report the issues Thanks.

## Setup ENV for Electron
```
nvm install 20
cd electron-app
npm install
```
20 changes: 2 additions & 18 deletions SpeCollate/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,7 @@ MarkupSafe==2.1.5
mpmath==1.3.0
networkx==3.3
Nuitka==2.4.5
numpy==2.0.1
nvidia-cublas-cu12==12.1.3.1
nvidia-cuda-cupti-cu12==12.1.105
nvidia-cuda-nvrtc-cu12==12.1.105
nvidia-cuda-runtime-cu12==12.1.105
nvidia-cudnn-cu12==9.1.0.70
nvidia-cufft-cu12==11.0.2.54
nvidia-curand-cu12==10.3.2.106
nvidia-cusolver-cu12==11.4.5.107
nvidia-cusparse-cu12==12.1.0.106
nvidia-nccl-cu12==2.20.5
nvidia-nvjitlink-cu12==12.6.20
nvidia-nvtx-cu12==12.1.105
numpy==1.23.5
ordered-set==4.1.0
pandas==2.2.2
pillow==10.4.0
Expand All @@ -29,12 +17,8 @@ scipy==1.14.0
six==1.16.0
sympy==1.13.1
threadpoolctl==3.5.0
torch==2.4.0
torchaudio==2.4.0
torchvision==0.19.0
tqdm==4.66.5
triton==3.0.0
typing_extensions==4.12.2
tzdata==2024.1
zstandard==0.23.0
progressbar==2.5.0
progressbar==2.5.0
11 changes: 8 additions & 3 deletions electron-app/electron-builder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,15 @@ files:
- '!{.env,.env.*,.npmrc,pnpm-lock.yaml}'
- '!{tsconfig.json,tsconfig.node.json,tsconfig.web.json}'
- '!**/env.json'
asar: true
asarUnpack:
- resources/**
- "**/node_modules/**/*"
- "resources/**/*"
- "dist/**/*"
win:
executableName: electron-app
executableName: maestro
target:
- zip
nsis:
artifactName: ${name}-${version}-setup.${ext}
shortcutName: ${productName}
Expand All @@ -38,7 +43,7 @@ linux:
category: Utility
appImage:
artifactName: ${name}-${version}.${ext}
npmRebuild: false
npmRebuild: true
publish:
provider: generic
url: https://example.com/auto-updates
Loading

0 comments on commit b107033

Please sign in to comment.