From abc0e6aacc31bd3f455c0b965d4cd43fe5e18043 Mon Sep 17 00:00:00 2001 From: DolicaAkelloEgwel Date: Wed, 1 Feb 2023 15:26:38 +0000 Subject: [PATCH 01/21] windows action --- .github/workflows/pyinstaller_windows.yml | 68 +++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 .github/workflows/pyinstaller_windows.yml diff --git a/.github/workflows/pyinstaller_windows.yml b/.github/workflows/pyinstaller_windows.yml new file mode 100644 index 00000000000..30a97df0bd5 --- /dev/null +++ b/.github/workflows/pyinstaller_windows.yml @@ -0,0 +1,68 @@ +name: PyInstaller Windows Build + +on: + pull_request: + branches: + - 'main' + - 'release-*' + release: + +jobs: + test: + runs-on: windows-latest + + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Get Date + id: get-date + run: | + echo "::set-output name=date::$(/bin/date -u "+%Y%V")" + shell: bash + + - name: Cache Mambaforge and Pip packages + uses: actions/cache@v2 + env: + CACHE_NUMBER: 0 + with: + path: | + ~/conda_pkgs_dir + ~/.cache/pip + key: + ${{runner.os}}-condapkg-${{env.CACHE_NUMBER}}-${{steps.get-date.outputs.date}}-${{hashFiles('environment-dev.yml','conda/meta.yaml')}} + + - name: Setup Mambaforge + uses: conda-incubator/setup-miniconda@v2.1.1 + with: + miniforge-version: latest + miniforge-variant: Mambaforge + activate-environment: mantidimaging-dev + auto-activate-base: false + use-mamba: true + + - name: Cache Mambaforge environment + uses: actions/cache@v2 + id: cache-mambaforge-environment + env: + CACHE_NUMBER: 0 + with: + path: ${{env.CONDA}}/envs/mantidimaging-dev + key: + ${{runner.os}}-condaenv-${{env.CACHE_NUMBER}}-${{steps.get-date.outputs.date}}-${{hashFiles('environment-dev.yml','conda/meta.yaml')}} + + - name: Mantid Imaging developer dependencies + if: steps.cache-mambaforge-environment.outputs.cache-hit != 'true' + shell: bash -l {0} + run: | + conda deactivate + python ./setup.py create_dev_env + + - name: PyInstaller Build + shell: bash -l {0} + run: | + conda activate mantidimaging-dev + pip install pyinstaller + cd packaging + python PackageWithPyInstaller.py \ No newline at end of file From e2da7df9c477f2fcfacf598abc0541f1666ee497 Mon Sep 17 00:00:00 2001 From: DolicaAkelloEgwel Date: Wed, 1 Feb 2023 15:38:50 +0000 Subject: [PATCH 02/21] release notes --- docs/release_notes/next.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/release_notes/next.rst b/docs/release_notes/next.rst index 3cc184fff66..a07e76832f3 100644 --- a/docs/release_notes/next.rst +++ b/docs/release_notes/next.rst @@ -44,3 +44,4 @@ Developer Changes - #1670 : `tostring()` Deprecation Warning - #1673 : Update license year across the repository from 2022 to 2023 - #1678 : Allow multiple datasets to be opened at once in the GUI when using the CLI `--path` flag +- #1683 : Add single-file PyInstaller build to Actions From c5d480ebe5bcf49213893a98fbdbfb7ae96f7b94 Mon Sep 17 00:00:00 2001 From: DolicaAkelloEgwel Date: Wed, 1 Feb 2023 16:36:37 +0000 Subject: [PATCH 03/21] artifact --- .github/workflows/pyinstaller_windows.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pyinstaller_windows.yml b/.github/workflows/pyinstaller_windows.yml index 30a97df0bd5..ff9855fe00c 100644 --- a/.github/workflows/pyinstaller_windows.yml +++ b/.github/workflows/pyinstaller_windows.yml @@ -65,4 +65,10 @@ jobs: conda activate mantidimaging-dev pip install pyinstaller cd packaging - python PackageWithPyInstaller.py \ No newline at end of file + python PackageWithPyInstaller.py + + - name: Archive PyInstalled File + uses: actions/upload-artifact@v3 + with: + name: MantidImaging + path: output/MantidImaging.exe \ No newline at end of file From 32afa7236246dec62ba6089a46422f0f8e0d13dc Mon Sep 17 00:00:00 2001 From: DolicaAkelloEgwel Date: Wed, 1 Feb 2023 17:01:00 +0000 Subject: [PATCH 04/21] fix path --- .github/workflows/pyinstaller_windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pyinstaller_windows.yml b/.github/workflows/pyinstaller_windows.yml index ff9855fe00c..9dc715dc583 100644 --- a/.github/workflows/pyinstaller_windows.yml +++ b/.github/workflows/pyinstaller_windows.yml @@ -71,4 +71,4 @@ jobs: uses: actions/upload-artifact@v3 with: name: MantidImaging - path: output/MantidImaging.exe \ No newline at end of file + path: packaging/dist/MantidImaging \ No newline at end of file From 75e9ae97a6b69596a8abd57bedb74cf5fdc6fbad Mon Sep 17 00:00:00 2001 From: DolicaAkelloEgwel Date: Thu, 2 Feb 2023 11:09:33 +0000 Subject: [PATCH 05/21] extension --- .github/workflows/pyinstaller_windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pyinstaller_windows.yml b/.github/workflows/pyinstaller_windows.yml index 9dc715dc583..82204cd3d9e 100644 --- a/.github/workflows/pyinstaller_windows.yml +++ b/.github/workflows/pyinstaller_windows.yml @@ -71,4 +71,4 @@ jobs: uses: actions/upload-artifact@v3 with: name: MantidImaging - path: packaging/dist/MantidImaging \ No newline at end of file + path: packaging/dist/MantidImaging.exe \ No newline at end of file From de48fb7372a0fd26c81fb42f0a3efcf3b29d3fc1 Mon Sep 17 00:00:00 2001 From: "Akello (234.48:4)" <43887608+DolicaAkelloEgwel@users.noreply.github.com> Date: Tue, 7 Feb 2023 14:42:28 +0000 Subject: [PATCH 06/21] Update PackageWithPyInstaller.py --- packaging/PackageWithPyInstaller.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/PackageWithPyInstaller.py b/packaging/PackageWithPyInstaller.py index 4d9aae970dc..114c3e43004 100644 --- a/packaging/PackageWithPyInstaller.py +++ b/packaging/PackageWithPyInstaller.py @@ -14,7 +14,7 @@ def create_run_options(): run_options = [ - '../mantidimaging/__main__.py', '--name=MantidImaging', '--additional-hooks-dir=hooks', '--onefile', + '../mantidimaging/__main__.py', '--name=MantidImaging', '--additional-hooks-dir=hooks', '--icon=../images/mantid_imaging_unstable_64px.ico' ] From 9df8fe18a5f792e638df959cf86cc58bcfd72284 Mon Sep 17 00:00:00 2001 From: "Akello (234.48:4)" <43887608+DolicaAkelloEgwel@users.noreply.github.com> Date: Tue, 7 Feb 2023 14:46:59 +0000 Subject: [PATCH 07/21] Update pyinstaller_windows.yml --- .github/workflows/pyinstaller_windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pyinstaller_windows.yml b/.github/workflows/pyinstaller_windows.yml index 82204cd3d9e..45a9d42cb73 100644 --- a/.github/workflows/pyinstaller_windows.yml +++ b/.github/workflows/pyinstaller_windows.yml @@ -71,4 +71,4 @@ jobs: uses: actions/upload-artifact@v3 with: name: MantidImaging - path: packaging/dist/MantidImaging.exe \ No newline at end of file + path: packaging/dist From 9c12c85e526716a34610b088e1ea120d9df79c0e Mon Sep 17 00:00:00 2001 From: "Akello (234.48:4)" <43887608+DolicaAkelloEgwel@users.noreply.github.com> Date: Thu, 9 Feb 2023 09:37:36 +0000 Subject: [PATCH 08/21] Install cupy and CUDA --- .github/workflows/pyinstaller_windows.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/pyinstaller_windows.yml b/.github/workflows/pyinstaller_windows.yml index 45a9d42cb73..bc65d89ca21 100644 --- a/.github/workflows/pyinstaller_windows.yml +++ b/.github/workflows/pyinstaller_windows.yml @@ -64,6 +64,8 @@ jobs: run: | conda activate mantidimaging-dev pip install pyinstaller + pip install cudatoolkit=10.2* + pip install cupy=10.2.* cd packaging python PackageWithPyInstaller.py From c36f5c58f1023c16ce1a4d56b284cfbb7d1e6b46 Mon Sep 17 00:00:00 2001 From: "Akello (234.48:4)" <43887608+DolicaAkelloEgwel@users.noreply.github.com> Date: Thu, 9 Feb 2023 09:54:11 +0000 Subject: [PATCH 09/21] Update pyinstaller_windows.yml --- .github/workflows/pyinstaller_windows.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pyinstaller_windows.yml b/.github/workflows/pyinstaller_windows.yml index bc65d89ca21..aa50df3b562 100644 --- a/.github/workflows/pyinstaller_windows.yml +++ b/.github/workflows/pyinstaller_windows.yml @@ -64,8 +64,8 @@ jobs: run: | conda activate mantidimaging-dev pip install pyinstaller - pip install cudatoolkit=10.2* - pip install cupy=10.2.* + pip install cudatoolkit==10.2* + pip install cupy==10.2.* cd packaging python PackageWithPyInstaller.py From 7dbcfece10bb297c138582c48b85236510c77d90 Mon Sep 17 00:00:00 2001 From: "Akello (234.48:4)" <43887608+DolicaAkelloEgwel@users.noreply.github.com> Date: Thu, 9 Feb 2023 10:14:22 +0000 Subject: [PATCH 10/21] Update pyinstaller_windows.yml --- .github/workflows/pyinstaller_windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pyinstaller_windows.yml b/.github/workflows/pyinstaller_windows.yml index aa50df3b562..1dc39007e42 100644 --- a/.github/workflows/pyinstaller_windows.yml +++ b/.github/workflows/pyinstaller_windows.yml @@ -64,7 +64,7 @@ jobs: run: | conda activate mantidimaging-dev pip install pyinstaller - pip install cudatoolkit==10.2* + pip install cudatoolkit pip install cupy==10.2.* cd packaging python PackageWithPyInstaller.py From f9ffa15a41d6f9504bff20a146eb78b2119855f6 Mon Sep 17 00:00:00 2001 From: "Akello (234.48:4)" <43887608+DolicaAkelloEgwel@users.noreply.github.com> Date: Thu, 9 Feb 2023 10:44:56 +0000 Subject: [PATCH 11/21] Update pyinstaller_windows.yml --- .github/workflows/pyinstaller_windows.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pyinstaller_windows.yml b/.github/workflows/pyinstaller_windows.yml index 1dc39007e42..b6ec73387da 100644 --- a/.github/workflows/pyinstaller_windows.yml +++ b/.github/workflows/pyinstaller_windows.yml @@ -64,8 +64,8 @@ jobs: run: | conda activate mantidimaging-dev pip install pyinstaller - pip install cudatoolkit - pip install cupy==10.2.* + mamba install -y cudatoolkit=10.2* + mamba install -y cupy=10.2.* cd packaging python PackageWithPyInstaller.py From 87b86c8389e267ace2185a3223390d5894a5db24 Mon Sep 17 00:00:00 2001 From: "Akello (234.48:4)" <43887608+DolicaAkelloEgwel@users.noreply.github.com> Date: Thu, 9 Feb 2023 11:32:32 +0000 Subject: [PATCH 12/21] Update pyinstaller_windows.yml --- .github/workflows/pyinstaller_windows.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pyinstaller_windows.yml b/.github/workflows/pyinstaller_windows.yml index b6ec73387da..a32934ccc7d 100644 --- a/.github/workflows/pyinstaller_windows.yml +++ b/.github/workflows/pyinstaller_windows.yml @@ -66,6 +66,7 @@ jobs: pip install pyinstaller mamba install -y cudatoolkit=10.2* mamba install -y cupy=10.2.* + set CUDA_PATH="C:\\Miniconda3\\envs\\mantidimaging-dev" cd packaging python PackageWithPyInstaller.py From 00aacd1b2ebefd24de5b68d2135141ee9f2a16da Mon Sep 17 00:00:00 2001 From: "Akello (234.48:4)" <43887608+DolicaAkelloEgwel@users.noreply.github.com> Date: Thu, 9 Feb 2023 14:03:57 +0000 Subject: [PATCH 13/21] Update pyinstaller_windows.yml --- .github/workflows/pyinstaller_windows.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/pyinstaller_windows.yml b/.github/workflows/pyinstaller_windows.yml index a32934ccc7d..e21ebedc344 100644 --- a/.github/workflows/pyinstaller_windows.yml +++ b/.github/workflows/pyinstaller_windows.yml @@ -67,6 +67,8 @@ jobs: mamba install -y cudatoolkit=10.2* mamba install -y cupy=10.2.* set CUDA_PATH="C:\\Miniconda3\\envs\\mantidimaging-dev" + echo "Cuda path:" + echo $CUDA_PATH cd packaging python PackageWithPyInstaller.py From 89382819ad455dfbbeda7eab77bef7da47ba270c Mon Sep 17 00:00:00 2001 From: "Akello (234.48:4)" <43887608+DolicaAkelloEgwel@users.noreply.github.com> Date: Thu, 9 Feb 2023 14:35:56 +0000 Subject: [PATCH 14/21] Update pyinstaller_windows.yml --- .github/workflows/pyinstaller_windows.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/pyinstaller_windows.yml b/.github/workflows/pyinstaller_windows.yml index e21ebedc344..94b43b59cba 100644 --- a/.github/workflows/pyinstaller_windows.yml +++ b/.github/workflows/pyinstaller_windows.yml @@ -61,14 +61,12 @@ jobs: - name: PyInstaller Build shell: bash -l {0} + env: + CUDA_PATH: "C:\\Miniconda3\\envs\\mantidimaging-dev" run: | conda activate mantidimaging-dev + echo $env:CUDA_PATH pip install pyinstaller - mamba install -y cudatoolkit=10.2* - mamba install -y cupy=10.2.* - set CUDA_PATH="C:\\Miniconda3\\envs\\mantidimaging-dev" - echo "Cuda path:" - echo $CUDA_PATH cd packaging python PackageWithPyInstaller.py From 8bd4cdc4ef9d0e31179436d3a68515a7bc5b1bf1 Mon Sep 17 00:00:00 2001 From: "Akello (234.48:4)" <43887608+DolicaAkelloEgwel@users.noreply.github.com> Date: Thu, 9 Feb 2023 14:56:45 +0000 Subject: [PATCH 15/21] Update pyinstaller_windows.yml --- .github/workflows/pyinstaller_windows.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/pyinstaller_windows.yml b/.github/workflows/pyinstaller_windows.yml index 94b43b59cba..0b0d905bc8d 100644 --- a/.github/workflows/pyinstaller_windows.yml +++ b/.github/workflows/pyinstaller_windows.yml @@ -65,6 +65,8 @@ jobs: CUDA_PATH: "C:\\Miniconda3\\envs\\mantidimaging-dev" run: | conda activate mantidimaging-dev + echo "Cuda path:" + echo $CUDA_PATH echo $env:CUDA_PATH pip install pyinstaller cd packaging From 7bb61ac685c9b85f9d3cd9ceb04b7dc72a4b5957 Mon Sep 17 00:00:00 2001 From: "Akello (234.48:4)" <43887608+DolicaAkelloEgwel@users.noreply.github.com> Date: Thu, 9 Feb 2023 15:12:15 +0000 Subject: [PATCH 16/21] Update pyinstaller_windows.yml --- .github/workflows/pyinstaller_windows.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pyinstaller_windows.yml b/.github/workflows/pyinstaller_windows.yml index 0b0d905bc8d..b25ae2efac1 100644 --- a/.github/workflows/pyinstaller_windows.yml +++ b/.github/workflows/pyinstaller_windows.yml @@ -58,11 +58,12 @@ jobs: run: | conda deactivate python ./setup.py create_dev_env + + - name: cuda-toolkit + uses: Jimver/cuda-toolkit@v0.2.8 - name: PyInstaller Build shell: bash -l {0} - env: - CUDA_PATH: "C:\\Miniconda3\\envs\\mantidimaging-dev" run: | conda activate mantidimaging-dev echo "Cuda path:" From f59a282aeb38e60d8f2c0f3e8fdbd0e319c47a58 Mon Sep 17 00:00:00 2001 From: "Akello (234.48:4)" <43887608+DolicaAkelloEgwel@users.noreply.github.com> Date: Thu, 9 Feb 2023 16:05:01 +0000 Subject: [PATCH 17/21] Update pyinstaller_windows.yml --- .github/workflows/pyinstaller_windows.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pyinstaller_windows.yml b/.github/workflows/pyinstaller_windows.yml index b25ae2efac1..ecb384690a1 100644 --- a/.github/workflows/pyinstaller_windows.yml +++ b/.github/workflows/pyinstaller_windows.yml @@ -66,9 +66,8 @@ jobs: shell: bash -l {0} run: | conda activate mantidimaging-dev - echo "Cuda path:" - echo $CUDA_PATH - echo $env:CUDA_PATH + echo "Cuda path: $CUDA_PATH + mamba install -y cupy=10.2.* --force-reinstall pip install pyinstaller cd packaging python PackageWithPyInstaller.py From 2b6a4dd1d1f3097260af2af8fe77874bbeb1a5aa Mon Sep 17 00:00:00 2001 From: "Akello (234.48:4)" <43887608+DolicaAkelloEgwel@users.noreply.github.com> Date: Thu, 9 Feb 2023 17:03:04 +0000 Subject: [PATCH 18/21] Update pyinstaller_windows.yml --- .github/workflows/pyinstaller_windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pyinstaller_windows.yml b/.github/workflows/pyinstaller_windows.yml index ecb384690a1..17a9b97529e 100644 --- a/.github/workflows/pyinstaller_windows.yml +++ b/.github/workflows/pyinstaller_windows.yml @@ -66,7 +66,7 @@ jobs: shell: bash -l {0} run: | conda activate mantidimaging-dev - echo "Cuda path: $CUDA_PATH + echo "Cuda path: $CUDA_PATH" mamba install -y cupy=10.2.* --force-reinstall pip install pyinstaller cd packaging From b7b2fd5cfa27c142fdf59267fa8c6284ae866fc3 Mon Sep 17 00:00:00 2001 From: "Akello (234.48:4)" <43887608+DolicaAkelloEgwel@users.noreply.github.com> Date: Fri, 10 Feb 2023 16:26:26 +0000 Subject: [PATCH 19/21] Update pyinstaller_windows.yml --- .github/workflows/pyinstaller_windows.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/pyinstaller_windows.yml b/.github/workflows/pyinstaller_windows.yml index 17a9b97529e..b3534322cea 100644 --- a/.github/workflows/pyinstaller_windows.yml +++ b/.github/workflows/pyinstaller_windows.yml @@ -61,6 +61,8 @@ jobs: - name: cuda-toolkit uses: Jimver/cuda-toolkit@v0.2.8 + with: + cuda: '10.2.0' - name: PyInstaller Build shell: bash -l {0} From 4b9ce7e7fd249606570e336a58e3b3b9842c015f Mon Sep 17 00:00:00 2001 From: "Akello (234.48:4)" <43887608+DolicaAkelloEgwel@users.noreply.github.com> Date: Mon, 13 Feb 2023 09:33:24 +0000 Subject: [PATCH 20/21] Update pyinstaller_windows.yml --- .github/workflows/pyinstaller_windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pyinstaller_windows.yml b/.github/workflows/pyinstaller_windows.yml index b3534322cea..1e1bba8cd65 100644 --- a/.github/workflows/pyinstaller_windows.yml +++ b/.github/workflows/pyinstaller_windows.yml @@ -62,7 +62,7 @@ jobs: - name: cuda-toolkit uses: Jimver/cuda-toolkit@v0.2.8 with: - cuda: '10.2.0' + cuda: '10.2.89' - name: PyInstaller Build shell: bash -l {0} From a690549bf4c76c1a5c3a21efcc4a829c2d22315b Mon Sep 17 00:00:00 2001 From: "Akello (234.48:4)" <43887608+DolicaAkelloEgwel@users.noreply.github.com> Date: Mon, 13 Feb 2023 14:44:23 +0000 Subject: [PATCH 21/21] Update pyinstaller_windows.yml --- .github/workflows/pyinstaller_windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pyinstaller_windows.yml b/.github/workflows/pyinstaller_windows.yml index 1e1bba8cd65..cd6f89c1a5c 100644 --- a/.github/workflows/pyinstaller_windows.yml +++ b/.github/workflows/pyinstaller_windows.yml @@ -68,8 +68,8 @@ jobs: shell: bash -l {0} run: | conda activate mantidimaging-dev - echo "Cuda path: $CUDA_PATH" mamba install -y cupy=10.2.* --force-reinstall + echo "Cuda path: $CUDA_PATH" pip install pyinstaller cd packaging python PackageWithPyInstaller.py