From ce56845efa0eb20101724c33beea3ed78ac086cc Mon Sep 17 00:00:00 2001 From: Matej2 <11059438+matej2@users.noreply.github.com> Date: Mon, 15 Jun 2026 12:58:25 +0200 Subject: [PATCH 1/4] Updated action job code checkout --- .github/workflows/build-release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index a610a9a..78b13ae 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -12,6 +12,8 @@ jobs: # Step 1: Check out the repository - name: Checkout code uses: actions/checkout@v4 + with: + ref: win # Step 2: Set up Python - name: Set up Python From 205ddb807a99feef119d632592468e94240c815a Mon Sep 17 00:00:00 2001 From: Matej2 <11059438+matej2@users.noreply.github.com> Date: Mon, 15 Jun 2026 14:14:42 +0200 Subject: [PATCH 2/4] Moved pyinstaller from dev dependencies --- Pipfile | 4 +- Pipfile.lock | 104 ++++++++++++++++++++++++--------------------------- 2 files changed, 50 insertions(+), 58 deletions(-) diff --git a/Pipfile b/Pipfile index 351ef1e..87f7645 100644 --- a/Pipfile +++ b/Pipfile @@ -11,12 +11,12 @@ pyexcel-ods3 = "*" typing-extensions = "*" customtkinter = "*" dbus-python = "*" +pyinstaller = "*" [dev-packages] -pyinstaller = "*" coverage = "*" pyvirtualdisplay = "*" mypy = "*" [requires] -python_version = "3.11.4" +python_version = "3.11.7" diff --git a/Pipfile.lock b/Pipfile.lock index 5cbf979..ce9554b 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,11 +1,11 @@ { "_meta": { "hash": { - "sha256": "708d037d134b2558c8aad6d3d89e4e25f6d3cdab6c8bc36e67d607cef4fd2c4d" + "sha256": "09e9ed361f0d24d90737f907997b85d82516bca1e0989b58b2169d4d65b9bf5b" }, "pipfile-spec": 6, "requires": { - "python_version": "3.11.4" + "python_version": "3.11.7" }, "sources": [ { @@ -16,6 +16,13 @@ ] }, "default": { + "altgraph": { + "hashes": [ + "sha256:c87b395dd12fabde9c99573a9749d67da8d29ef9de0125c7f536699b4a9bc9e7", + "sha256:f3a22400bce1b0c701683820ac4f3b159cd301acab067c51c653e06961600597" + ], + "version": "==0.17.5" + }, "apscheduler": { "hashes": [ "sha256:2a9966b052ec805f020c8c4c3ae6e6a06e24b1bf19f2e11d91d8cca0473eef41", @@ -237,6 +244,33 @@ "markers": "python_version >= '3.6'", "version": "==0.6.1" }, + "pyinstaller": { + "hashes": [ + "sha256:327d132389f37912609e01be62810cf96b5aa95b613903e4b8692e0d12fb0eda", + "sha256:42395ec76df8e8120c36b13339d9db8cab83e316a12839ee303cc00fc941bb74", + "sha256:4e3108b3f02384560da70e39b8bf22b0ad597d02bd68a40d76ea91c1cfa00cad", + "sha256:5fa56746c1e76f93634d018502301378a2d0c382553d37d8c3c34ff436c12dd1", + "sha256:605169523a6b5ace39f13dfbff21add9f2bc43df99c7daf9394fefb2c45e8b6f", + "sha256:697532279f535ad572bda613db4f821540e235c7854ca6da4d3bf0373f4415ee", + "sha256:6b6374d652107dd4a2eeece903ff82bb4045bb5e1006c5a158a6dcdbefe84bf2", + "sha256:7071d4b094d5b40deeef5fa3d3b98a1b846087f7562b49209663d5f9281fe251", + "sha256:7fae06c494ce0ebfe6bd3055c0e409def884f63af2e3705d06bd431ad9237fc7", + "sha256:bb9fab705983e393a2d1cac77d6972513057ad800215fd861dc15ff5272e98fd", + "sha256:c6b28d30d8fd99ce162ff3aab5013ed44dbfb747566b1f01b9bed7964d7c14e9", + "sha256:f13c95c9c03fb567217135919f93815c305813126780b0ed6e0123cb8acaf025" + ], + "index": "pypi", + "markers": "python_version < '3.16' and python_version >= '3.8'", + "version": "==6.21.0" + }, + "pyinstaller-hooks-contrib": { + "hashes": [ + "sha256:bef5002c32f4f50bd55b005da12cff64eca8783e7eaf86a06a62410164bab725", + "sha256:fd13b8ac126b35361175edacd41a0d97080b75dd5f4b594ecefefff969509dd3" + ], + "markers": "python_version >= '3.8'", + "version": "==2026.6" + }, "pyyaml": { "hashes": [ "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", @@ -317,6 +351,14 @@ "markers": "python_version >= '3.8'", "version": "==6.0.3" }, + "setuptools": { + "hashes": [ + "sha256:7d872682c5d01cfde07da7bccc7b65469d3dca203318515ada1de5eda35efbf9", + "sha256:a59e362652f08dcd477c78bb6e7bd9d80a7995bc73ce773050228a348ce2e5bb" + ], + "markers": "python_version >= '3.9'", + "version": "==82.0.1" + }, "typing-extensions": { "hashes": [ "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", @@ -328,21 +370,14 @@ }, "tzlocal": { "hashes": [ - "sha256:cceffc7edecefea1f595541dbd6e990cb1ea3d19bf01b2809f362a03dd7921fd", - "sha256:eb1a66c3ef5847adf7a834f1be0800581b683b5608e74f86ecbcef8ab91bb85d" + "sha256:024d11221ff83453eae1f608f09b145b9779e1345d08c15404ce8ff7917cf629", + "sha256:41e1293f80d4b5ff38dff222601a8fbd06b4fdcaf25e224704047ad26a39af54" ], - "markers": "python_version >= '3.9'", - "version": "==5.3.1" + "markers": "python_version >= '3.10'", + "version": "==5.4" } }, "develop": { - "altgraph": { - "hashes": [ - "sha256:c87b395dd12fabde9c99573a9749d67da8d29ef9de0125c7f536699b4a9bc9e7", - "sha256:f3a22400bce1b0c701683820ac4f3b159cd301acab067c51c653e06961600597" - ], - "version": "==0.17.5" - }, "ast-serialize": { "hashes": [ "sha256:061ee58bdb52341c8201a6df41182a977736bae3b7ded87ca7176ca25a8a47ab", @@ -650,14 +685,6 @@ "markers": "python_version >= '3.8'", "version": "==1.1.0" }, - "packaging": { - "hashes": [ - "sha256:5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e", - "sha256:ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661" - ], - "markers": "python_version >= '3.8'", - "version": "==26.2" - }, "pathspec": { "hashes": [ "sha256:17db5ecd524104a120e173814c90367a96a98d07c45b2e10c2f3919fff91bf5a", @@ -666,33 +693,6 @@ "markers": "python_version >= '3.9'", "version": "==1.1.1" }, - "pyinstaller": { - "hashes": [ - "sha256:327d132389f37912609e01be62810cf96b5aa95b613903e4b8692e0d12fb0eda", - "sha256:42395ec76df8e8120c36b13339d9db8cab83e316a12839ee303cc00fc941bb74", - "sha256:4e3108b3f02384560da70e39b8bf22b0ad597d02bd68a40d76ea91c1cfa00cad", - "sha256:5fa56746c1e76f93634d018502301378a2d0c382553d37d8c3c34ff436c12dd1", - "sha256:605169523a6b5ace39f13dfbff21add9f2bc43df99c7daf9394fefb2c45e8b6f", - "sha256:697532279f535ad572bda613db4f821540e235c7854ca6da4d3bf0373f4415ee", - "sha256:6b6374d652107dd4a2eeece903ff82bb4045bb5e1006c5a158a6dcdbefe84bf2", - "sha256:7071d4b094d5b40deeef5fa3d3b98a1b846087f7562b49209663d5f9281fe251", - "sha256:7fae06c494ce0ebfe6bd3055c0e409def884f63af2e3705d06bd431ad9237fc7", - "sha256:bb9fab705983e393a2d1cac77d6972513057ad800215fd861dc15ff5272e98fd", - "sha256:c6b28d30d8fd99ce162ff3aab5013ed44dbfb747566b1f01b9bed7964d7c14e9", - "sha256:f13c95c9c03fb567217135919f93815c305813126780b0ed6e0123cb8acaf025" - ], - "index": "pypi", - "markers": "python_version < '3.16' and python_version >= '3.8'", - "version": "==6.21.0" - }, - "pyinstaller-hooks-contrib": { - "hashes": [ - "sha256:bef5002c32f4f50bd55b005da12cff64eca8783e7eaf86a06a62410164bab725", - "sha256:fd13b8ac126b35361175edacd41a0d97080b75dd5f4b594ecefefff969509dd3" - ], - "markers": "python_version >= '3.8'", - "version": "==2026.6" - }, "pyvirtualdisplay": { "hashes": [ "sha256:09755bc3ceb6eb725fb07eca5425f43f2358d3bf08e00d2a9b792a1aedd16159", @@ -701,14 +701,6 @@ "index": "pypi", "version": "==3.0" }, - "setuptools": { - "hashes": [ - "sha256:7d872682c5d01cfde07da7bccc7b65469d3dca203318515ada1de5eda35efbf9", - "sha256:a59e362652f08dcd477c78bb6e7bd9d80a7995bc73ce773050228a348ce2e5bb" - ], - "markers": "python_version >= '3.9'", - "version": "==82.0.1" - }, "typing-extensions": { "hashes": [ "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", From 8498133c4f6eb24018bab9934c93e50557d939c2 Mon Sep 17 00:00:00 2001 From: Matej2 <11059438+matej2@users.noreply.github.com> Date: Mon, 15 Jun 2026 14:15:29 +0200 Subject: [PATCH 3/4] Updated command to build app --- .github/workflows/build-release.yml | 8 ++++---- README.md | 5 +++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 78b13ae..5ddf64d 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -30,12 +30,12 @@ jobs: # Step 4: Install dependencies using Pipenv - name: Install dependencies with Pipenv run: | - pipenv install --dev + pipenv install # Step 5: Build the application using PyInstaller - name: Build with PyInstaller run: | - pipenv run pyinstaller --noconsole --windowed --onefile main.py + pipenv run pyinstaller --noconsole --onefile --windowed --name "Task Note Manager" --paths=. src/main.py # Step 6: Upload executable to release assets - name: Upload Release Asset @@ -73,12 +73,12 @@ jobs: # Step 4: Install dependencies using Pipenv - name: Install dependencies with Pipenv run: | - pipenv install --dev + pipenv install # Step 5: Build the application using PyInstaller - name: Build with PyInstaller run: | - pipenv run pyinstaller --noconsole --windowed --onefile main.py + pipenv run pyinstaller --noconsole --onefile --windowed --name "Task Note Manager" --paths=. src/main.py # Step 6: Upload executable to release assets - name: Upload Release Asset diff --git a/README.md b/README.md index ef1c6fc..2aaf158 100644 --- a/README.md +++ b/README.md @@ -47,11 +47,12 @@ Make sure you have Python 3.11.7 or higher installed. You would also need pipenv When building this application locally, note that antivirus may flag it as potentially malicious executable. This is normal, you should add an exception for the file in your antivirus program. The application may also need admin permissions to run in order to create and update the output file. -1. `pipenv install --dev` -2. Run `pipenv run pyinstaller --noconsole --onefile --windowed --name "Task Note Manager" main.py`. +1. `pipenv install` +2. Run `pipenv run pyinstaller --noconsole --onefile --windowed --name "Task Note Manager" --paths=. src/main.py`. - `--noconsole`: Hides the console window when running the executable. - `--onefile`: Bundles all files into a single executable. - `--windowed`: Ensures the app runs as a GUI application. + - `--paths`: Looks at specific path when resolving "import x" statements # Tests and coverage From 85ef26931bf8ea541926d552c8ec00498962ff58 Mon Sep 17 00:00:00 2001 From: Matej2 <11059438+matej2@users.noreply.github.com> Date: Mon, 15 Jun 2026 14:20:45 +0200 Subject: [PATCH 4/4] Updated python version for CI --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b6a4176..e531e09 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,7 +50,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: '3.11.4' + python-version: '3.11.7' - name: Install dependencies with apt get run: sudo apt-get install -y libdbus-1-dev libdbus-glib-1-dev