Skip to content

Commit

Permalink
Merge pull request #76 from ammarcsj/develop_w_loose_install
Browse files Browse the repository at this point in the history
Merge development branch and improve dependency management
  • Loading branch information
ibludau authored Jul 22, 2024
2 parents 2412c8e + e180557 commit 7656ee9
Show file tree
Hide file tree
Showing 32 changed files with 16,815 additions and 61,432 deletions.
114 changes: 114 additions & 0 deletions .github/workflows/github_draft_release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
name: Create GitHub Draft Releases

on:
workflow_dispatch:

jobs:
Current_Version:
runs-on: ubuntu-latest
outputs:
version: ${{ steps.master_Current_Version.outputs.version }}
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Get current version
id: master_Current_Version
run: |
current_version=$(grep "__version__" alphamap/__init__.py | cut -f3 -d ' ' | sed 's/"//g')
echo "version=$current_version" >> $GITHUB_OUTPUT
Create_Draft_On_GitHub:
runs-on: ubuntu-latest
needs: Current_Version
outputs:
upload_url: ${{ steps.draft_release.outputs.upload_url }}
steps:
- name: Create Draft Release
id: draft_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: v${{ needs.Current_Version.outputs.version }}
release_name: Release version ${{ needs.Current_Version.outputs.version }}
draft: true
prerelease: false
- name: Move release to hidden folder
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
release_id=$(curl -s -H "Authorization: token $GITHUB_TOKEN" \
"https://api.github.com/repos/${{ github.repository }}/releases/tags/v${{ needs.Current_Version.outputs.version }}" \
| jq -r .id)
curl -X PATCH -H "Authorization: token $GITHUB_TOKEN" \
-H "Accept: application/vnd.github.v3+json" \
"https://api.github.com/repos/${{ github.repository }}/releases/$release_id" \
-d '{"draft": true, "name": ".hidden/v${{ needs.Current_Version.outputs.version }}"}'
Create_MacOS_Release:
runs-on: macos-latest
needs: Create_Draft_On_GitHub
steps:
- name: Checkout code
uses: actions/checkout@v2
- uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
python-version: ${{ matrix.python-version }}
miniconda-version: "latest"
- name: Conda info
shell: bash -l {0}
run: conda info
- name: Creating installer for MacOS
shell: bash -l {0}
run: |
cd misc/one_click_macos
. ./create_installer_macos.sh
- name: Test installer for MacOS
shell: bash -l {0}
run: |
sudo installer -pkg misc/one_click_macos/dist/alphamap_gui_installer_macos.pkg -target /
- name: Upload MacOS Installer
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.Create_Draft_On_GitHub.outputs.upload_url }}
asset_path: misc/one_click_macos/dist/alphamap_gui_installer_macos.pkg
asset_name: alphamap_gui_installer_macos.pkg
asset_content_type: application/octet-stream
Create_Windows_Release:
runs-on: windows-latest
needs: Create_Draft_On_GitHub
steps:
- name: Checkout code
uses: actions/checkout@v2
- uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
python-version: ${{ matrix.python-version }}
- name: Conda info
shell: bash -l {0}
run: conda info
- name: Creating installer for Windows
shell: bash -l {0}
run: |
cd misc/one_click_windows
. ./create_installer_windows.sh
- name: Test installer for Windows
shell: bash -l {0}
run: |
cd misc/one_click_windows/dist/
echo "TODO, this test seems to freeze the runner..."
# ./alphamap_gui_installer_windows.exe //verysilent //log=log.txt //noicons //tasks= //portable=1
# cat log.txt
- name: Upload Windows Installer
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.Create_Draft_On_GitHub.outputs.upload_url }}
asset_path: misc/one_click_windows/dist/alphamap_installer_windows.exe
asset_name: alphamap_installer_windows.exe
asset_content_type: application/octet-stream
42 changes: 0 additions & 42 deletions .github/workflows/main.yml

This file was deleted.

11 changes: 9 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,19 @@ The GUI of AlphaMap is a completely stand-alone tool that requires no knowledge

AlphaMap can be installed in an existing Python 3.8 environment with a single `bash` command. *This `bash` command can also be run directly from within a Jupyter notebook by prepending it with a `!`*.

```bash
pip install alphamap[stable]
```
The [stable] tag ensures you get the latest stable release with fixed dependencies. However, it can be omitted if you prefer more flexible dependency versions:

```bash
pip install alphamap
```

When a new version of AlphaMap becomes available, the old version can easily be upgraded by running e.g. the command again with an additional `--upgrade` flag:

```bash
pip install alphamap --upgrade
pip install --upgrade alphamap[stable]
```

NOTE: When installing with `pip`, UniProt information is not included. Upon first usage of a specific Organism, its information will be automatically downloaded from UniProt.
Expand All @@ -71,11 +76,13 @@ For any Python package, it is highly recommended to use a [conda virtual environ
```bash
conda create -n alphamap python=3.8 -y
conda activate alphamap
pip install -e .
pip install -e ".[stable]"
```

* By using the editable flag `-e`, all modifications to the AlphaMap [source code folder](alphamap) are directly reflected when running AlphaMap. Note that the AlphaMap folder cannot be moved and/or renamed if an editable version is installed.

* The [stable] tag ensures you get the latest stable release with fixed dependencies. However, it can be omitted if you prefer more flexible dependency versions.

* When using Jupyter notebooks and multiple conda environments direcly from the terminal, it is recommended to `conda install nb_conda_kernels` in the conda base environment. Hereafter, running a `jupyter notebook` from the conda base environment should have a `python [conda env: alphamap]` kernel available, in addition to all other conda kernels in which the command `conda install ipykernel` was run.


Expand Down
90 changes: 32 additions & 58 deletions Workflow.ipynb

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion alphamap/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "0.1.10"
__version__ = "0.1.11"
Loading

0 comments on commit 7656ee9

Please sign in to comment.