From 51feac6b161090e29ecfd374722cdb4d310e995e Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Sun, 10 Nov 2024 21:15:34 -0600 Subject: [PATCH 01/42] testing build --- .github/workflows/macos-build.yml | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index 85bb8ea..1abbfb8 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -6,6 +6,7 @@ on: - testingv4artifact - issue169_dependency - issue178_build-test-failures + - issue182_releaseprocess jobs: build-macos: @@ -29,11 +30,28 @@ jobs: run: | pip install nltk python -m nltk.downloader all - - run: brew install mysql pkg-config portaudio - - run: pip install -r requirements.txt pyinstaller importlib-metadata sacremoses tokenizers - - run: pip uninstall -y typing + - name: Build executable - run: pyinstaller --name Saltify --windowed --noconfirm --onefile -c --copy-metadata torch --copy-metadata tqdm --copy-metadata regex --copy-metadata sacremoses --copy-metadata requests --copy-metadata packaging --copy-metadata filelock --copy-metadata numpy --copy-metadata tokenizers --copy-metadata importlib_metadata --collect-data sv_ttk --recursive-copy-metadata "openai-whisper" --collect-data whisper GUI.py + run: | + pyinstaller --name Saltify --windowed --noconfirm --onefile \ + --copy-metadata torch \ + --copy-metadata tqdm \ + --copy-metadata regex \ + --copy-metadata sacremoses \ + --copy-metadata requests \ + --copy-metadata packaging \ + --copy-metadata filelock \ + --copy-metadata numpy \ + --copy-metadata tokenizers \ + --copy-metadata importlib_metadata \ + --collect-data sv_ttk \ + --recursive-copy-metadata "openai-whisper" \ + --collect-data whisper \ + GUI.py + + - name: Set permissions for macOS executable + run: chmod +x dist/Saltify + - uses: actions/upload-artifact@v4 if: always() with: From ae56864bbd5fe77663ec4361723d1ce11027a499 Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Sun, 10 Nov 2024 21:19:26 -0600 Subject: [PATCH 02/42] testing --- .github/workflows/macos-build.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index 1abbfb8..3175603 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -26,9 +26,10 @@ jobs: uses: actions/setup-python@v4 with: python-version: 3.11.7 - - name: Install NLTK + - name: Install Python dependencies run: | - pip install nltk + pip install -r requirements.txt pyinstaller importlib-metadata sacremoses tokenizers + pip uninstall -y typing python -m nltk.downloader all - name: Build executable From e9e97745af1a30778ab46851320e5c82cd25cc61 Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Sun, 10 Nov 2024 21:23:20 -0600 Subject: [PATCH 03/42] testingg --- .github/workflows/macos-build.yml | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index 3175603..d4ef306 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -1,4 +1,4 @@ -on: +on: push: branches: - main @@ -14,24 +14,31 @@ jobs: steps: - uses: actions/checkout@v4 + - uses: actions/setup-python@v4 - with: - python-version: 3.11 - - name: Install Java - run: | - if ! java -version; then - brew install openjdk@11 - fi - - name: Install Specific Python Version - uses: actions/setup-python@v4 with: python-version: 3.11.7 + + - name: Install System Libraries for mysqlclient + run: | + brew install mysql-client + export PATH="/usr/local/opt/mysql-client/bin:$PATH" + export MYSQLCLIENT_CFLAGS="-I/usr/local/opt/mysql-client/include" + export MYSQLCLIENT_LDFLAGS="-L/usr/local/opt/mysql-client/lib" + - name: Install Python dependencies run: | - pip install -r requirements.txt pyinstaller importlib-metadata sacremoses tokenizers + python -m pip install --upgrade pip + pip install --no-binary=mysqlclient mysqlclient + pip install -r requirements.txt pip uninstall -y typing python -m nltk.downloader all + - name: Verify Python and PyInstaller installation + run: | + python --version + pyinstaller --version + - name: Build executable run: | pyinstaller --name Saltify --windowed --noconfirm --onefile \ @@ -57,4 +64,4 @@ jobs: if: always() with: name: SpeechTranscription_macos - path: dist/Saltify \ No newline at end of file + path: dist/Saltify From 358286d9056ce41a3f17d2d0aa7aa9748ae63114 Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Sun, 10 Nov 2024 21:27:50 -0600 Subject: [PATCH 04/42] test --- .github/workflows/macos-build.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index d4ef306..d8871bb 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -19,18 +19,20 @@ jobs: with: python-version: 3.11.7 - - name: Install System Libraries for mysqlclient + - name: Install System Libraries run: | - brew install mysql-client + brew install mysql-client pkg-config portaudio export PATH="/usr/local/opt/mysql-client/bin:$PATH" export MYSQLCLIENT_CFLAGS="-I/usr/local/opt/mysql-client/include" export MYSQLCLIENT_LDFLAGS="-L/usr/local/opt/mysql-client/lib" + - name: Install mysqlclient + run: pip install --no-binary=mysqlclient mysqlclient + - name: Install Python dependencies run: | python -m pip install --upgrade pip - pip install --no-binary=mysqlclient mysqlclient - pip install -r requirements.txt + pip install -r requirements.txt pyinstaller importlib-metadata sacremoses tokenizers pip uninstall -y typing python -m nltk.downloader all From 0d84dcea34ee565d7afde0d7ef8f9243081ce3e6 Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Sun, 10 Nov 2024 21:31:01 -0600 Subject: [PATCH 05/42] teswt 2 --- .github/workflows/macos-build.yml | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index d8871bb..2d062d5 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -6,29 +6,37 @@ on: - testingv4artifact - issue169_dependency - issue178_build-test-failures - - issue182_releaseprocess jobs: build-macos: runs-on: macos-latest steps: + # Checkout the code - uses: actions/checkout@v4 + # Set up Python environment - uses: actions/setup-python@v4 with: python-version: 3.11.7 - - name: Install System Libraries + # Install system tools and libraries + - name: Install System Tools + run: brew install pkg-config mysql-client + + # Configure MySQL environment + - name: Configure MySQL Environment run: | - brew install mysql-client pkg-config portaudio export PATH="/usr/local/opt/mysql-client/bin:$PATH" + export PKG_CONFIG_PATH="/usr/local/opt/mysql-client/lib/pkgconfig" export MYSQLCLIENT_CFLAGS="-I/usr/local/opt/mysql-client/include" export MYSQLCLIENT_LDFLAGS="-L/usr/local/opt/mysql-client/lib" + # Install mysqlclient - name: Install mysqlclient - run: pip install --no-binary=mysqlclient mysqlclient + run: pip install mysqlclient + # Install Python dependencies - name: Install Python dependencies run: | python -m pip install --upgrade pip @@ -36,11 +44,13 @@ jobs: pip uninstall -y typing python -m nltk.downloader all + # Verify Python and PyInstaller installation - name: Verify Python and PyInstaller installation run: | python --version pyinstaller --version + # Build the macOS executable - name: Build executable run: | pyinstaller --name Saltify --windowed --noconfirm --onefile \ @@ -59,9 +69,11 @@ jobs: --collect-data whisper \ GUI.py + # Set permissions for macOS executable - name: Set permissions for macOS executable run: chmod +x dist/Saltify + # Upload the built executable as an artifact - uses: actions/upload-artifact@v4 if: always() with: From d9d5762913c86486657fd2bf743e3a99643427d9 Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Sun, 10 Nov 2024 21:33:00 -0600 Subject: [PATCH 06/42] test again --- .github/workflows/macos-build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index 2d062d5..7fda8c4 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -6,6 +6,7 @@ on: - testingv4artifact - issue169_dependency - issue178_build-test-failures + - issue182_releaseprocess jobs: build-macos: From c842b35151b9bb24f588ea236182030920259fa7 Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Sun, 10 Nov 2024 21:35:42 -0600 Subject: [PATCH 07/42] test againn --- .github/workflows/macos-build.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index 7fda8c4..32e003f 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -21,9 +21,10 @@ jobs: with: python-version: 3.11.7 - # Install system tools and libraries - - name: Install System Tools - run: brew install pkg-config mysql-client + # Install required tools and libraries + - name: Install Required System Tools + run: | + brew install pkg-config mysql-client # Configure MySQL environment - name: Configure MySQL Environment @@ -35,7 +36,7 @@ jobs: # Install mysqlclient - name: Install mysqlclient - run: pip install mysqlclient + run: pip install --only-binary :all: mysqlclient # Install Python dependencies - name: Install Python dependencies From 978b0fb54766701c5406507f692e58b65d067b2c Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Sun, 10 Nov 2024 21:38:48 -0600 Subject: [PATCH 08/42] adding branch --- .github/workflows/release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fb414e9..a32de45 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4,6 +4,7 @@ on: branches: - issue178_build-test-failures - main + - issue182_releaseprocess permissions: contents: write packages: read From c79f6bf85686cfd7750d3009387e1c258f78057f Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Sun, 10 Nov 2024 21:57:22 -0600 Subject: [PATCH 09/42] test 2 --- .github/workflows/macos-build.yml | 86 +++++++++---------------------- 1 file changed, 25 insertions(+), 61 deletions(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index 32e003f..5db2368 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -1,83 +1,47 @@ +name: Build and Test GUI (macOS) + on: push: branches: - main - - fix-mac-exe - - testingv4artifact - - issue169_dependency - - issue178_build-test-failures - issue182_releaseprocess + + pull_request: jobs: - build-macos: + build: runs-on: macos-latest steps: - # Checkout the code - - uses: actions/checkout@v4 + - name: Checkout repository + uses: actions/checkout@v4 - # Set up Python environment - - uses: actions/setup-python@v4 + - name: Set up Python + uses: actions/setup-python@v4 with: - python-version: 3.11.7 - - # Install required tools and libraries - - name: Install Required System Tools - run: | - brew install pkg-config mysql-client + python-version: 3.11 - # Configure MySQL environment - - name: Configure MySQL Environment + - name: Install system dependencies run: | - export PATH="/usr/local/opt/mysql-client/bin:$PATH" - export PKG_CONFIG_PATH="/usr/local/opt/mysql-client/lib/pkgconfig" - export MYSQLCLIENT_CFLAGS="-I/usr/local/opt/mysql-client/include" - export MYSQLCLIENT_LDFLAGS="-L/usr/local/opt/mysql-client/lib" - - # Install mysqlclient - - name: Install mysqlclient - run: pip install --only-binary :all: mysqlclient + brew update + brew install pkg-config portaudio mysql-client # macOS equivalent of system dependencies - # Install Python dependencies - name: Install Python dependencies run: | - python -m pip install --upgrade pip - pip install -r requirements.txt pyinstaller importlib-metadata sacremoses tokenizers - pip uninstall -y typing - python -m nltk.downloader all + pip install --upgrade pip + pip install -r requirements.txt + pip install pyinstaller - # Verify Python and PyInstaller installation - - name: Verify Python and PyInstaller installation - run: | - python --version - pyinstaller --version - - # Build the macOS executable - name: Build executable run: | - pyinstaller --name Saltify --windowed --noconfirm --onefile \ - --copy-metadata torch \ - --copy-metadata tqdm \ - --copy-metadata regex \ - --copy-metadata sacremoses \ - --copy-metadata requests \ - --copy-metadata packaging \ - --copy-metadata filelock \ - --copy-metadata numpy \ - --copy-metadata tokenizers \ - --copy-metadata importlib_metadata \ - --collect-data sv_ttk \ - --recursive-copy-metadata "openai-whisper" \ - --collect-data whisper \ - GUI.py - - # Set permissions for macOS executable - - name: Set permissions for macOS executable - run: chmod +x dist/Saltify - - # Upload the built executable as an artifact - - uses: actions/upload-artifact@v4 - if: always() + pyinstaller --name SpeechTranscription --onefile --noconfirm \ + --add-data "images:images" \ + --add-data "user_settings.txt:." \ + --hidden-import "customtkinter" \ + GUI.py + + - name: Upload artifact + uses: actions/upload-artifact@v4 with: name: SpeechTranscription_macos - path: dist/Saltify + path: dist/SpeechTranscription From 69e4cb90712558afd2f8f1d57d401d410f67e7a6 Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Sun, 10 Nov 2024 21:59:09 -0600 Subject: [PATCH 10/42] test 3 --- .github/workflows/macos-build.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index 5db2368..88c657e 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -5,7 +5,6 @@ on: branches: - main - issue182_releaseprocess - pull_request: jobs: @@ -19,18 +18,22 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: 3.11 + python-version: 3.11.7 - name: Install system dependencies run: | brew update - brew install pkg-config portaudio mysql-client # macOS equivalent of system dependencies + brew install pkg-config portaudio mysql-client openjdk@17 # Includes Java installation + echo "export PATH='/usr/local/opt/openjdk@17/bin:$PATH'" >> $HOME/.zshrc + source $HOME/.zshrc + java -version - name: Install Python dependencies run: | pip install --upgrade pip pip install -r requirements.txt pip install pyinstaller + python -m nltk.downloader all - name: Build executable run: | From 87dc9b11c9f6d0e2585acba6b7b9b31c48de5518 Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Sun, 10 Nov 2024 22:02:27 -0600 Subject: [PATCH 11/42] . --- .github/workflows/macos-build.yml | 60 ++++++++++++++----------------- 1 file changed, 26 insertions(+), 34 deletions(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index 88c657e..f83f4e2 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -1,50 +1,42 @@ -name: Build and Test GUI (macOS) - -on: +on: push: branches: - main + - fix-mac-exe + - testingv4artifact + - issue169_dependency + - issue178_build-test-failures - issue182_releaseprocess - pull_request: jobs: - build: + build-macos: runs-on: macos-latest steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Set up Python + - uses: actions/checkout@v4 + - uses: actions/setup-python@v4 + with: + python-version: 3.11 + - name: Install Java + run: | + if ! java -version; then + brew install openjdk@11 + fi + - name: Install Specific Python Version uses: actions/setup-python@v4 with: python-version: 3.11.7 - - - name: Install system dependencies + - name: Install NLTK run: | - brew update - brew install pkg-config portaudio mysql-client openjdk@17 # Includes Java installation - echo "export PATH='/usr/local/opt/openjdk@17/bin:$PATH'" >> $HOME/.zshrc - source $HOME/.zshrc - java -version - - - name: Install Python dependencies - run: | - pip install --upgrade pip - pip install -r requirements.txt - pip install pyinstaller - python -m nltk.downloader all - + pip install nltk + python -m nltk.downloader all + - run: brew install mysql pkg-config portaudio + - run: pip install -r requirements.txt pyinstaller importlib-metadata sacremoses tokenizers + - run: pip uninstall -y typing - name: Build executable - run: | - pyinstaller --name SpeechTranscription --onefile --noconfirm \ - --add-data "images:images" \ - --add-data "user_settings.txt:." \ - --hidden-import "customtkinter" \ - GUI.py - - - name: Upload artifact - uses: actions/upload-artifact@v4 + run: pyinstaller --name Saltify --windowed --noconfirm --onefile -c --copy-metadata torch --copy-metadata tqdm --copy-metadata regex --copy-metadata sacremoses --copy-metadata requests --copy-metadata packaging --copy-metadata filelock --copy-metadata numpy --copy-metadata tokenizers --copy-metadata importlib_metadata --collect-data sv_ttk --recursive-copy-metadata "openai-whisper" --collect-data whisper GUI.py + - uses: actions/upload-artifact@v4 + if: always() with: name: SpeechTranscription_macos - path: dist/SpeechTranscription + path: dist/Saltify \ No newline at end of file From 9fdc267769c52f6d9af29946e8798565952e67ef Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Sun, 10 Nov 2024 22:09:22 -0600 Subject: [PATCH 12/42] testing buildss --- .github/workflows/macos-build.yml | 53 ++++++++++++++++--------- .github/workflows/release.yml | 65 +++++++++++++++++-------------- 2 files changed, 70 insertions(+), 48 deletions(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index f83f4e2..a8b7841 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -1,4 +1,6 @@ -on: +name: Build macOS Executable + +on: push: branches: - main @@ -13,30 +15,45 @@ jobs: runs-on: macos-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Set Up Python + uses: actions/setup-python@v4 with: python-version: 3.11 + + - name: Install Dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + python -m nltk.downloader all # If using NLTK + - name: Install Java run: | if ! java -version; then brew install openjdk@11 fi - - name: Install Specific Python Version - uses: actions/setup-python@v4 - with: - python-version: 3.11.7 - - name: Install NLTK + + - name: Install Other Tools + run: brew install mysql pkg-config portaudio + + - name: Build macOS Executable run: | - pip install nltk - python -m nltk.downloader all - - run: brew install mysql pkg-config portaudio - - run: pip install -r requirements.txt pyinstaller importlib-metadata sacremoses tokenizers - - run: pip uninstall -y typing - - name: Build executable - run: pyinstaller --name Saltify --windowed --noconfirm --onefile -c --copy-metadata torch --copy-metadata tqdm --copy-metadata regex --copy-metadata sacremoses --copy-metadata requests --copy-metadata packaging --copy-metadata filelock --copy-metadata numpy --copy-metadata tokenizers --copy-metadata importlib_metadata --collect-data sv_ttk --recursive-copy-metadata "openai-whisper" --collect-data whisper GUI.py - - uses: actions/upload-artifact@v4 - if: always() + pyinstaller --name Saltify --windowed --noconfirm --onefile \ + --add-data "images/locked_icon.png:images" \ + --add-data "images/unlocked_icon.png:images" \ + --add-data "images/clear_icon.png:images" \ + --add-data "user_settings.txt:." \ + --add-data "CTkXYFrame:CTkXYFrame" \ + --hidden-import customtkinter \ + --hidden-import matplotlib \ + --hidden-import Pillow \ + --hidden-import diarizationAndTranscription \ + GUI.py + + - name: Upload macOS Build Artifact + uses: actions/upload-artifact@v4 with: name: SpeechTranscription_macos - path: dist/Saltify \ No newline at end of file + path: dist/Saltify diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a32de45..8bdfe8d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,70 +1,73 @@ -name: Release +name: Create Release + on: push: branches: - - issue178_build-test-failures - main - issue182_releaseprocess + permissions: contents: write packages: read actions: read + jobs: call-macos-build: - uses: oss-slu/SpeechTranscription/.github/workflows/macos-build.yml@build_fixes_copy + name: Build macOS Executable + uses: ./.github/workflows/macos-build.yml@main + call-windows-build: - uses: oss-slu/SpeechTranscription/.github/workflows/windows-build.yml@build_fixes_copy + name: Build Windows Executable + uses: ./.github/workflows/windows-build.yml@main + release: + name: Create GitHub Release needs: [call-macos-build, call-windows-build] runs-on: ubuntu-latest + steps: - - name: Checkout code + - name: Checkout Repository uses: actions/checkout@v4 - - name: Create artifacts directory + + - name: Create Artifacts Directory run: mkdir -p artifacts/macos artifacts/windows - - name: Download macOS build artifacts + + - name: Download macOS Build Artifacts uses: actions/download-artifact@v4 with: name: SpeechTranscription_macos path: artifacts/macos - - name: Download Windows build artifacts + + - name: Download Windows Build Artifacts uses: actions/download-artifact@v4 with: name: SpeechTranscription_windows path: artifacts/windows - - name: List directory structure + + - name: Create Project ZIP run: | - echo "Full directory structure:" - find . -type f -not -path "./.git/*" - - echo "Contents of artifacts directory:" - ls -la artifacts/ - ls -la artifacts/macos || echo "No macOS artifacts" - ls -la artifacts/windows || echo "No Windows artifacts" - - name: Create project ZIP - run: | - echo "Build number: ${{ github.run_number }}" >> release_notes.md + echo "## Build Details" > release_notes.md + echo "Build Number: ${{ github.run_number }}" >> release_notes.md echo "Commit: ${{ github.sha }}" >> release_notes.md echo "Branch: ${{ github.ref_name }}" >> release_notes.md - echo "Event type: ${{ github.event_name }}" >> release_notes.md + echo "Event: ${{ github.event_name }}" >> release_notes.md + echo "" >> release_notes.md echo "## Downloads" >> release_notes.md - + if [ -d "artifacts/macos" ] && [ "$(ls -A artifacts/macos)" ]; then echo "- macOS executable included" >> release_notes.md zip -j artifacts/Saltify_macos.zip artifacts/macos/* else - echo "Note: macOS executable not available for this release" >> release_notes.md + echo "Note: macOS executable not available" >> release_notes.md fi - + if [ -d "artifacts/windows" ] && [ "$(ls -A artifacts/windows)" ]; then echo "- Windows executable included" >> release_notes.md zip -j artifacts/Saltify_windows.zip artifacts/windows/* else - echo "Note: Windows executable not available for this release" >> release_notes.md + echo "Note: Windows executable not available" >> release_notes.md fi - - echo "- Saltify_macos.zip: macOS executable" >> release_notes.md - echo "- Saltify_windows.zip: Windows executable" >> release_notes.md + - name: Create GitHub Release id: create_release uses: actions/create-release@v1 @@ -76,7 +79,8 @@ jobs: body_path: ./release_notes.md draft: false prerelease: false - - name: Upload Release Assets + + - name: Upload macOS Executable uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -85,7 +89,8 @@ jobs: asset_path: artifacts/Saltify_macos.zip asset_name: Saltify_macos.zip asset_content_type: application/zip - - name: Upload Release Assets + + - name: Upload Windows Executable uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -93,4 +98,4 @@ jobs: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: artifacts/Saltify_windows.zip asset_name: Saltify_windows.zip - asset_content_type: application/zip \ No newline at end of file + asset_content_type: application/zip From d854a8ac0122cd77a94519a1ee66d9c0fa34218e Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Sun, 10 Nov 2024 22:11:11 -0600 Subject: [PATCH 13/42] testing --- .github/workflows/macos-build.yml | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index a8b7841..4ea0cb9 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -6,9 +6,6 @@ on: - main - fix-mac-exe - testingv4artifact - - issue169_dependency - - issue178_build-test-failures - - issue182_releaseprocess jobs: build-macos: @@ -23,20 +20,17 @@ jobs: with: python-version: 3.11 + - name: Install MySQL Libraries + run: | + brew install mysql pkg-config + export MYSQLCLIENT_CFLAGS=$(pkg-config --cflags mysqlclient) + export MYSQLCLIENT_LDFLAGS=$(pkg-config --libs mysqlclient) + - name: Install Dependencies run: | python -m pip install --upgrade pip pip install -r requirements.txt - python -m nltk.downloader all # If using NLTK - - - name: Install Java - run: | - if ! java -version; then - brew install openjdk@11 - fi - - - name: Install Other Tools - run: brew install mysql pkg-config portaudio + python -m nltk.downloader all - name: Build macOS Executable run: | From d43cf07913ee0a18964b1aca4ccc619211a9837b Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Sun, 10 Nov 2024 22:11:49 -0600 Subject: [PATCH 14/42] branch --- .github/workflows/macos-build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index 4ea0cb9..3bca307 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -6,6 +6,7 @@ on: - main - fix-mac-exe - testingv4artifact + - issue182_releaseprocess jobs: build-macos: From d4fe4823945d88ea92e946cf6382120d21a86c26 Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Sun, 10 Nov 2024 22:17:05 -0600 Subject: [PATCH 15/42] trying to test --- .github/workflows/macos-build.yml | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index 3bca307..7101cee 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -21,14 +21,22 @@ jobs: with: python-version: 3.11 - - name: Install MySQL Libraries + - name: Install PortAudio and MySQL Libraries run: | - brew install mysql pkg-config - export MYSQLCLIENT_CFLAGS=$(pkg-config --cflags mysqlclient) - export MYSQLCLIENT_LDFLAGS=$(pkg-config --libs mysqlclient) + brew install portaudio mysql pkg-config + brew link portaudio + brew link mysql + + - name: Ensure Permissions for Build Tools + run: | + chmod +x /usr/local/bin/brew + chmod +x $(brew --prefix portaudio)/bin/* || true + chmod +x $(brew --prefix mysql)/bin/* || true - name: Install Dependencies run: | + export CFLAGS="-I$(brew --prefix portaudio)/include" + export LDFLAGS="-L$(brew --prefix portaudio)/lib" python -m pip install --upgrade pip pip install -r requirements.txt python -m nltk.downloader all @@ -46,6 +54,13 @@ jobs: --hidden-import Pillow \ --hidden-import diarizationAndTranscription \ GUI.py + chmod +x dist/Saltify + + - name: Verify Permissions of Executable + run: | + ls -la dist/ + chmod +x dist/Saltify + file dist/Saltify - name: Upload macOS Build Artifact uses: actions/upload-artifact@v4 From 1e3810a03442fffe3c969bbe21a40d12afbd412f Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Sun, 10 Nov 2024 22:19:15 -0600 Subject: [PATCH 16/42] test --- .github/workflows/macos-build.yml | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index 7101cee..43a7111 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -16,10 +16,19 @@ jobs: - name: Checkout Repository uses: actions/checkout@v4 - - name: Set Up Python - uses: actions/setup-python@v4 - with: - python-version: 3.11 + - name: Ensure Homebrew is Available + run: | + if ! command -v brew &>/dev/null; then + echo "Homebrew not found. Installing Homebrew..." + /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" + fi + echo "Homebrew path: $(which brew)" + + - name: Set Homebrew Path Dynamically + run: | + BREW_PATH=$(which brew) + echo "Brew path: $BREW_PATH" + chmod +x $BREW_PATH - name: Install PortAudio and MySQL Libraries run: | @@ -29,7 +38,6 @@ jobs: - name: Ensure Permissions for Build Tools run: | - chmod +x /usr/local/bin/brew chmod +x $(brew --prefix portaudio)/bin/* || true chmod +x $(brew --prefix mysql)/bin/* || true @@ -54,13 +62,13 @@ jobs: --hidden-import Pillow \ --hidden-import diarizationAndTranscription \ GUI.py - chmod +x dist/Saltify + chmod +x dist/Saltify # Ensure executable has run permissions - name: Verify Permissions of Executable run: | ls -la dist/ chmod +x dist/Saltify - file dist/Saltify + file dist/Saltify # Verify it's a binary - name: Upload macOS Build Artifact uses: actions/upload-artifact@v4 From 5a10fef0bb9e3f1dfb974700c14c9f7fd92a2429 Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Sun, 10 Nov 2024 22:21:53 -0600 Subject: [PATCH 17/42] testing --- .github/workflows/macos-build.yml | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index 43a7111..6ce3178 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -22,13 +22,6 @@ jobs: echo "Homebrew not found. Installing Homebrew..." /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" fi - echo "Homebrew path: $(which brew)" - - - name: Set Homebrew Path Dynamically - run: | - BREW_PATH=$(which brew) - echo "Brew path: $BREW_PATH" - chmod +x $BREW_PATH - name: Install PortAudio and MySQL Libraries run: | @@ -36,16 +29,12 @@ jobs: brew link portaudio brew link mysql - - name: Ensure Permissions for Build Tools - run: | - chmod +x $(brew --prefix portaudio)/bin/* || true - chmod +x $(brew --prefix mysql)/bin/* || true - - name: Install Dependencies run: | export CFLAGS="-I$(brew --prefix portaudio)/include" export LDFLAGS="-L$(brew --prefix portaudio)/lib" python -m pip install --upgrade pip + pip install openai-whisper # Install from PyPI pip install -r requirements.txt python -m nltk.downloader all @@ -62,13 +51,13 @@ jobs: --hidden-import Pillow \ --hidden-import diarizationAndTranscription \ GUI.py - chmod +x dist/Saltify # Ensure executable has run permissions + chmod +x dist/Saltify - name: Verify Permissions of Executable run: | ls -la dist/ chmod +x dist/Saltify - file dist/Saltify # Verify it's a binary + file dist/Saltify - name: Upload macOS Build Artifact uses: actions/upload-artifact@v4 From 8a6cd9912c706c206aa92de8fba7ec07264f9eca Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Sun, 10 Nov 2024 22:24:31 -0600 Subject: [PATCH 18/42] testing --- .github/workflows/macos-build.yml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index 6ce3178..25bebc8 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -16,12 +16,10 @@ jobs: - name: Checkout Repository uses: actions/checkout@v4 - - name: Ensure Homebrew is Available - run: | - if ! command -v brew &>/dev/null; then - echo "Homebrew not found. Installing Homebrew..." - /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - fi + - name: Set Up Python + uses: actions/setup-python@v4 + with: + python-version: 3.11 - name: Install PortAudio and MySQL Libraries run: | @@ -34,7 +32,7 @@ jobs: export CFLAGS="-I$(brew --prefix portaudio)/include" export LDFLAGS="-L$(brew --prefix portaudio)/lib" python -m pip install --upgrade pip - pip install openai-whisper # Install from PyPI + pip install --no-cache-dir --only-binary=:all: openai-whisper pip install -r requirements.txt python -m nltk.downloader all From 88e36d5c3a6e3edc3b230206367c421c3848f616 Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Sun, 10 Nov 2024 22:27:00 -0600 Subject: [PATCH 19/42] push --- .github/workflows/macos-build.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index 25bebc8..37908e5 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -4,9 +4,6 @@ on: push: branches: - main - - fix-mac-exe - - testingv4artifact - - issue182_releaseprocess jobs: build-macos: @@ -21,18 +18,23 @@ jobs: with: python-version: 3.11 - - name: Install PortAudio and MySQL Libraries + - name: Install Build Tools run: | - brew install portaudio mysql pkg-config + brew install portaudio pkg-config ffmpeg brew link portaudio - brew link mysql + brew link ffmpeg + + - name: Install openai-whisper from GitHub + run: | + git clone https://github.com/openai/whisper.git + cd whisper + pip install . - name: Install Dependencies run: | export CFLAGS="-I$(brew --prefix portaudio)/include" export LDFLAGS="-L$(brew --prefix portaudio)/lib" python -m pip install --upgrade pip - pip install --no-cache-dir --only-binary=:all: openai-whisper pip install -r requirements.txt python -m nltk.downloader all From ef0a7d3a4184bacfbd3fd838a9cdbbf5ffae1276 Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Sun, 10 Nov 2024 22:29:29 -0600 Subject: [PATCH 20/42] release --- .github/workflows/release.yml | 65 ++++++++++++++++------------------- 1 file changed, 30 insertions(+), 35 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8bdfe8d..a32de45 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,73 +1,70 @@ -name: Create Release - +name: Release on: push: branches: + - issue178_build-test-failures - main - issue182_releaseprocess - permissions: contents: write packages: read actions: read - jobs: call-macos-build: - name: Build macOS Executable - uses: ./.github/workflows/macos-build.yml@main - + uses: oss-slu/SpeechTranscription/.github/workflows/macos-build.yml@build_fixes_copy call-windows-build: - name: Build Windows Executable - uses: ./.github/workflows/windows-build.yml@main - + uses: oss-slu/SpeechTranscription/.github/workflows/windows-build.yml@build_fixes_copy release: - name: Create GitHub Release needs: [call-macos-build, call-windows-build] runs-on: ubuntu-latest - steps: - - name: Checkout Repository + - name: Checkout code uses: actions/checkout@v4 - - - name: Create Artifacts Directory + - name: Create artifacts directory run: mkdir -p artifacts/macos artifacts/windows - - - name: Download macOS Build Artifacts + - name: Download macOS build artifacts uses: actions/download-artifact@v4 with: name: SpeechTranscription_macos path: artifacts/macos - - - name: Download Windows Build Artifacts + - name: Download Windows build artifacts uses: actions/download-artifact@v4 with: name: SpeechTranscription_windows path: artifacts/windows - - - name: Create Project ZIP + - name: List directory structure run: | - echo "## Build Details" > release_notes.md - echo "Build Number: ${{ github.run_number }}" >> release_notes.md + echo "Full directory structure:" + find . -type f -not -path "./.git/*" + + echo "Contents of artifacts directory:" + ls -la artifacts/ + ls -la artifacts/macos || echo "No macOS artifacts" + ls -la artifacts/windows || echo "No Windows artifacts" + - name: Create project ZIP + run: | + echo "Build number: ${{ github.run_number }}" >> release_notes.md echo "Commit: ${{ github.sha }}" >> release_notes.md echo "Branch: ${{ github.ref_name }}" >> release_notes.md - echo "Event: ${{ github.event_name }}" >> release_notes.md - echo "" >> release_notes.md + echo "Event type: ${{ github.event_name }}" >> release_notes.md echo "## Downloads" >> release_notes.md - + if [ -d "artifacts/macos" ] && [ "$(ls -A artifacts/macos)" ]; then echo "- macOS executable included" >> release_notes.md zip -j artifacts/Saltify_macos.zip artifacts/macos/* else - echo "Note: macOS executable not available" >> release_notes.md + echo "Note: macOS executable not available for this release" >> release_notes.md fi - + if [ -d "artifacts/windows" ] && [ "$(ls -A artifacts/windows)" ]; then echo "- Windows executable included" >> release_notes.md zip -j artifacts/Saltify_windows.zip artifacts/windows/* else - echo "Note: Windows executable not available" >> release_notes.md + echo "Note: Windows executable not available for this release" >> release_notes.md fi - + + echo "- Saltify_macos.zip: macOS executable" >> release_notes.md + echo "- Saltify_windows.zip: Windows executable" >> release_notes.md - name: Create GitHub Release id: create_release uses: actions/create-release@v1 @@ -79,8 +76,7 @@ jobs: body_path: ./release_notes.md draft: false prerelease: false - - - name: Upload macOS Executable + - name: Upload Release Assets uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -89,8 +85,7 @@ jobs: asset_path: artifacts/Saltify_macos.zip asset_name: Saltify_macos.zip asset_content_type: application/zip - - - name: Upload Windows Executable + - name: Upload Release Assets uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -98,4 +93,4 @@ jobs: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: artifacts/Saltify_windows.zip asset_name: Saltify_windows.zip - asset_content_type: application/zip + asset_content_type: application/zip \ No newline at end of file From f4145914f9aa5df48ce4810e9526343e9d24d10d Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Sun, 10 Nov 2024 22:45:53 -0600 Subject: [PATCH 21/42] release changes 1 --- .github/workflows/release.yml | 74 +++++++++++++++++++++-------------- 1 file changed, 44 insertions(+), 30 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a32de45..2d6d29c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,70 +1,82 @@ name: Release + on: push: branches: - issue178_build-test-failures - main - issue182_releaseprocess + permissions: contents: write packages: read actions: read + jobs: call-macos-build: - uses: oss-slu/SpeechTranscription/.github/workflows/macos-build.yml@build_fixes_copy + uses: ./.github/workflows/macos-build.yml@main + call-windows-build: - uses: oss-slu/SpeechTranscription/.github/workflows/windows-build.yml@build_fixes_copy + uses: ./.github/workflows/windows-build.yml@main + release: needs: [call-macos-build, call-windows-build] runs-on: ubuntu-latest + steps: - - name: Checkout code + - name: Checkout Repository uses: actions/checkout@v4 - - name: Create artifacts directory + + - name: Create Artifacts Directory run: mkdir -p artifacts/macos artifacts/windows - - name: Download macOS build artifacts + + - name: Download macOS Build Artifact uses: actions/download-artifact@v4 with: name: SpeechTranscription_macos path: artifacts/macos - - name: Download Windows build artifacts + + - name: Download Windows Build Artifact uses: actions/download-artifact@v4 with: name: SpeechTranscription_windows path: artifacts/windows - - name: List directory structure + + - name: Verify Artifacts run: | - echo "Full directory structure:" - find . -type f -not -path "./.git/*" - - echo "Contents of artifacts directory:" - ls -la artifacts/ - ls -la artifacts/macos || echo "No macOS artifacts" - ls -la artifacts/windows || echo "No Windows artifacts" - - name: Create project ZIP + if [ ! -f "artifacts/macos/Saltify" ]; then + echo "No macOS artifact found!" && exit 1 + fi + if [ ! -f "artifacts/windows/Saltify.exe" ]; then + echo "No Windows artifact found!" && exit 1 + fi + + - name: Create Release Notes and ZIP Files run: | - echo "Build number: ${{ github.run_number }}" >> release_notes.md + echo "Build number: ${{ github.run_number }}" > release_notes.md echo "Commit: ${{ github.sha }}" >> release_notes.md echo "Branch: ${{ github.ref_name }}" >> release_notes.md echo "Event type: ${{ github.event_name }}" >> release_notes.md + echo "" >> release_notes.md echo "## Downloads" >> release_notes.md - - if [ -d "artifacts/macos" ] && [ "$(ls -A artifacts/macos)" ]; then + + # macOS + if [ -f "artifacts/macos/Saltify" ]; then + chmod +x artifacts/macos/Saltify + zip -j artifacts/Saltify_macos.zip artifacts/macos/Saltify echo "- macOS executable included" >> release_notes.md - zip -j artifacts/Saltify_macos.zip artifacts/macos/* else - echo "Note: macOS executable not available for this release" >> release_notes.md + echo "Note: macOS executable not available" >> release_notes.md fi - - if [ -d "artifacts/windows" ] && [ "$(ls -A artifacts/windows)" ]; then + + # Windows + if [ -f "artifacts/windows/Saltify.exe" ]; then + zip -j artifacts/Saltify_windows.zip artifacts/windows/Saltify.exe echo "- Windows executable included" >> release_notes.md - zip -j artifacts/Saltify_windows.zip artifacts/windows/* else - echo "Note: Windows executable not available for this release" >> release_notes.md + echo "Note: Windows executable not available" >> release_notes.md fi - - echo "- Saltify_macos.zip: macOS executable" >> release_notes.md - echo "- Saltify_windows.zip: Windows executable" >> release_notes.md + - name: Create GitHub Release id: create_release uses: actions/create-release@v1 @@ -76,7 +88,8 @@ jobs: body_path: ./release_notes.md draft: false prerelease: false - - name: Upload Release Assets + + - name: Upload macOS Release Asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -85,7 +98,8 @@ jobs: asset_path: artifacts/Saltify_macos.zip asset_name: Saltify_macos.zip asset_content_type: application/zip - - name: Upload Release Assets + + - name: Upload Windows Release Asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -93,4 +107,4 @@ jobs: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: artifacts/Saltify_windows.zip asset_name: Saltify_windows.zip - asset_content_type: application/zip \ No newline at end of file + asset_content_type: application/zip From 68e37bab6f37dff83111a2c225fe3435d85b7f36 Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Sun, 10 Nov 2024 22:48:35 -0600 Subject: [PATCH 22/42] testing again --- .github/workflows/release.yml | 71 ++++++++--------------------------- 1 file changed, 16 insertions(+), 55 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2d6d29c..0da41eb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -3,7 +3,6 @@ name: Release on: push: branches: - - issue178_build-test-failures - main - issue182_releaseprocess @@ -16,11 +15,8 @@ jobs: call-macos-build: uses: ./.github/workflows/macos-build.yml@main - call-windows-build: - uses: ./.github/workflows/windows-build.yml@main - release: - needs: [call-macos-build, call-windows-build] + needs: [call-macos-build] runs-on: ubuntu-latest steps: @@ -28,7 +24,7 @@ jobs: uses: actions/checkout@v4 - name: Create Artifacts Directory - run: mkdir -p artifacts/macos artifacts/windows + run: mkdir -p artifacts/macos - name: Download macOS Build Artifact uses: actions/download-artifact@v4 @@ -36,46 +32,21 @@ jobs: name: SpeechTranscription_macos path: artifacts/macos - - name: Download Windows Build Artifact - uses: actions/download-artifact@v4 - with: - name: SpeechTranscription_windows - path: artifacts/windows - - - name: Verify Artifacts + - name: Validate macOS Artifact run: | if [ ! -f "artifacts/macos/Saltify" ]; then - echo "No macOS artifact found!" && exit 1 - fi - if [ ! -f "artifacts/windows/Saltify.exe" ]; then - echo "No Windows artifact found!" && exit 1 + echo "Error: macOS artifact not found!" && exit 1 fi - - name: Create Release Notes and ZIP Files + - name: Debug Artifact Contents run: | - echo "Build number: ${{ github.run_number }}" > release_notes.md - echo "Commit: ${{ github.sha }}" >> release_notes.md - echo "Branch: ${{ github.ref_name }}" >> release_notes.md - echo "Event type: ${{ github.event_name }}" >> release_notes.md - echo "" >> release_notes.md - echo "## Downloads" >> release_notes.md - - # macOS - if [ -f "artifacts/macos/Saltify" ]; then - chmod +x artifacts/macos/Saltify - zip -j artifacts/Saltify_macos.zip artifacts/macos/Saltify - echo "- macOS executable included" >> release_notes.md - else - echo "Note: macOS executable not available" >> release_notes.md - fi + echo "Listing contents of artifacts/macos:" + ls -la artifacts/macos + file artifacts/macos/Saltify - # Windows - if [ -f "artifacts/windows/Saltify.exe" ]; then - zip -j artifacts/Saltify_windows.zip artifacts/windows/Saltify.exe - echo "- Windows executable included" >> release_notes.md - else - echo "Note: Windows executable not available" >> release_notes.md - fi + - name: Create macOS ZIP + run: | + zip -j artifacts/Saltify_macos.zip artifacts/macos/Saltify - name: Create GitHub Release id: create_release @@ -85,7 +56,10 @@ jobs: with: tag_name: v${{ github.run_number }} release_name: Release ${{ github.run_number }} - body_path: ./release_notes.md + body: | + Build Number: ${{ github.run_number }} + Commit: ${{ github.sha }} + Branch: ${{ github.ref_name }} draft: false prerelease: false @@ -94,17 +68,4 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: artifacts/Saltify_macos.zip - asset_name: Saltify_macos.zip - asset_content_type: application/zip - - - name: Upload Windows Release Asset - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: artifacts/Saltify_windows.zip - asset_name: Saltify_windows.zip - asset_content_type: application/zip + From def00c0dbe78d8783a85db0b33058eb339c927aa Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Sun, 10 Nov 2024 22:50:18 -0600 Subject: [PATCH 23/42] release changfe --- .github/workflows/macos-build.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index 37908e5..5104bd4 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -51,12 +51,11 @@ jobs: --hidden-import Pillow \ --hidden-import diarizationAndTranscription \ GUI.py - chmod +x dist/Saltify + chmod +x dist/Saltify # Ensure executable has correct permissions - - name: Verify Permissions of Executable + - name: Verify Build Output run: | ls -la dist/ - chmod +x dist/Saltify file dist/Saltify - name: Upload macOS Build Artifact From 86e970943f644efa4aa707fcc8fb1ce530e9d040 Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Sun, 10 Nov 2024 22:56:39 -0600 Subject: [PATCH 24/42] testing again --- .github/workflows/macos-build.yml | 75 ++++++++--------------- .github/workflows/release.yml | 98 ++++++++++++++++++++----------- 2 files changed, 91 insertions(+), 82 deletions(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index 5104bd4..f83f4e2 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -1,65 +1,42 @@ -name: Build macOS Executable - -on: +on: push: branches: - main + - fix-mac-exe + - testingv4artifact + - issue169_dependency + - issue178_build-test-failures + - issue182_releaseprocess jobs: build-macos: runs-on: macos-latest steps: - - name: Checkout Repository - uses: actions/checkout@v4 - - - name: Set Up Python - uses: actions/setup-python@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-python@v4 with: python-version: 3.11 - - - name: Install Build Tools + - name: Install Java run: | - brew install portaudio pkg-config ffmpeg - brew link portaudio - brew link ffmpeg - - - name: Install openai-whisper from GitHub - run: | - git clone https://github.com/openai/whisper.git - cd whisper - pip install . - - - name: Install Dependencies + if ! java -version; then + brew install openjdk@11 + fi + - name: Install Specific Python Version + uses: actions/setup-python@v4 + with: + python-version: 3.11.7 + - name: Install NLTK run: | - export CFLAGS="-I$(brew --prefix portaudio)/include" - export LDFLAGS="-L$(brew --prefix portaudio)/lib" - python -m pip install --upgrade pip - pip install -r requirements.txt + pip install nltk python -m nltk.downloader all - - - name: Build macOS Executable - run: | - pyinstaller --name Saltify --windowed --noconfirm --onefile \ - --add-data "images/locked_icon.png:images" \ - --add-data "images/unlocked_icon.png:images" \ - --add-data "images/clear_icon.png:images" \ - --add-data "user_settings.txt:." \ - --add-data "CTkXYFrame:CTkXYFrame" \ - --hidden-import customtkinter \ - --hidden-import matplotlib \ - --hidden-import Pillow \ - --hidden-import diarizationAndTranscription \ - GUI.py - chmod +x dist/Saltify # Ensure executable has correct permissions - - - name: Verify Build Output - run: | - ls -la dist/ - file dist/Saltify - - - name: Upload macOS Build Artifact - uses: actions/upload-artifact@v4 + - run: brew install mysql pkg-config portaudio + - run: pip install -r requirements.txt pyinstaller importlib-metadata sacremoses tokenizers + - run: pip uninstall -y typing + - name: Build executable + run: pyinstaller --name Saltify --windowed --noconfirm --onefile -c --copy-metadata torch --copy-metadata tqdm --copy-metadata regex --copy-metadata sacremoses --copy-metadata requests --copy-metadata packaging --copy-metadata filelock --copy-metadata numpy --copy-metadata tokenizers --copy-metadata importlib_metadata --collect-data sv_ttk --recursive-copy-metadata "openai-whisper" --collect-data whisper GUI.py + - uses: actions/upload-artifact@v4 + if: always() with: name: SpeechTranscription_macos - path: dist/Saltify + path: dist/Saltify \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0da41eb..41ceb4c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,53 +1,75 @@ name: Release - on: push: branches: + - issue178_build-test-failures - main - issue182_releaseprocess - permissions: contents: write packages: read actions: read - jobs: call-macos-build: - uses: ./.github/workflows/macos-build.yml@main - + uses: oss-slu/SpeechTranscription/.github/workflows/macos-build.yml@build_fixes_copy + call-windows-build: + uses: oss-slu/SpeechTranscription/.github/workflows/windows-build.yml@build_fixes_copy release: - needs: [call-macos-build] + needs: [call-macos-build, call-windows-build] runs-on: ubuntu-latest - steps: - - name: Checkout Repository + - name: Checkout code uses: actions/checkout@v4 - - - name: Create Artifacts Directory - run: mkdir -p artifacts/macos - - - name: Download macOS Build Artifact + - name: Create artifacts directory + run: mkdir -p artifacts/macos artifacts/windows + - name: Download macOS build artifacts uses: actions/download-artifact@v4 with: name: SpeechTranscription_macos path: artifacts/macos - - - name: Validate macOS Artifact + - name: Download Windows build artifacts + uses: actions/download-artifact@v4 + with: + name: SpeechTranscription_windows + path: artifacts/windows + - name: Debug Artifacts run: | - if [ ! -f "artifacts/macos/Saltify" ]; then - echo "Error: macOS artifact not found!" && exit 1 - fi - - - name: Debug Artifact Contents + echo "Debugging macOS artifacts:" + find artifacts/macos || echo "No macOS artifacts found" + echo "Debugging Windows artifacts:" + find artifacts/windows || echo "No Windows artifacts found" + - name: List directory structure run: | - echo "Listing contents of artifacts/macos:" - ls -la artifacts/macos - file artifacts/macos/Saltify - - - name: Create macOS ZIP + echo "Full directory structure:" + find . -type f -not -path "./.git/*" + echo "Contents of artifacts directory:" + ls -la artifacts/ + ls -la artifacts/macos || echo "No macOS artifacts" + ls -la artifacts/windows || echo "No Windows artifacts" + - name: Create project ZIP run: | - zip -j artifacts/Saltify_macos.zip artifacts/macos/Saltify - + echo "Build number: ${{ github.run_number }}" >> release_notes.md + echo "Commit: ${{ github.sha }}" >> release_notes.md + echo "Branch: ${{ github.ref_name }}" >> release_notes.md + echo "Event type: ${{ github.event_name }}" >> release_notes.md + echo "## Downloads" >> release_notes.md + + if [ -d "artifacts/macos" ] && [ "$(ls -A artifacts/macos)" ]; then + echo "- macOS executable included" >> release_notes.md + find artifacts/macos -type f -name "Saltify*" -exec zip -j artifacts/Saltify_macos.zip {} \; + else + echo "Note: macOS executable not available for this release" >> release_notes.md + fi + + if [ -d "artifacts/windows" ] && [ "$(ls -A artifacts/windows)" ]; then + echo "- Windows executable included" >> release_notes.md + find artifacts/windows -type f -name "Saltify*" -exec zip -j artifacts/Saltify_windows.zip {} \; + else + echo "Note: Windows executable not available for this release" >> release_notes.md + fi + + echo "- Saltify_macos.zip: macOS executable" >> release_notes.md + echo "- Saltify_windows.zip: Windows executable" >> release_notes.md - name: Create GitHub Release id: create_release uses: actions/create-release@v1 @@ -56,16 +78,26 @@ jobs: with: tag_name: v${{ github.run_number }} release_name: Release ${{ github.run_number }} - body: | - Build Number: ${{ github.run_number }} - Commit: ${{ github.sha }} - Branch: ${{ github.ref_name }} + body_path: ./release_notes.md draft: false prerelease: false - - name: Upload macOS Release Asset + if: exists(artifacts/Saltify_macos.zip) + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: artifacts/Saltify_macos.zip + asset_name: Saltify_macos.zip + asset_content_type: application/zip + - name: Upload Windows Release Asset + if: exists(artifacts/Saltify_windows.zip) uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: artifacts/Saltify_windows.zip + asset_name: Saltify_windows.zip + asset_content_type: application/zip From 0e12452aeeb2a094eb8614ff1f7494abf8d5f05a Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Sun, 10 Nov 2024 23:10:39 -0600 Subject: [PATCH 25/42] macos change --- .github/workflows/macos-build.yml | 47 ++++++++++++++++++------------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index f83f4e2..170340f 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -15,28 +15,37 @@ jobs: steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v4 - with: - python-version: 3.11 - - name: Install Java - run: | - if ! java -version; then - brew install openjdk@11 - fi - - name: Install Specific Python Version - uses: actions/setup-python@v4 with: python-version: 3.11.7 - - name: Install NLTK + - name: Install Dependencies + run: | + brew update + brew install openjdk@11 mysql pkg-config portaudio + pip install -r requirements.txt pyinstaller + - name: Validate Dependencies + run: | + python --version + pip list + java -version + - name: Build Executable with PyInstaller run: | - pip install nltk - python -m nltk.downloader all - - run: brew install mysql pkg-config portaudio - - run: pip install -r requirements.txt pyinstaller importlib-metadata sacremoses tokenizers - - run: pip uninstall -y typing - - name: Build executable - run: pyinstaller --name Saltify --windowed --noconfirm --onefile -c --copy-metadata torch --copy-metadata tqdm --copy-metadata regex --copy-metadata sacremoses --copy-metadata requests --copy-metadata packaging --copy-metadata filelock --copy-metadata numpy --copy-metadata tokenizers --copy-metadata importlib_metadata --collect-data sv_ttk --recursive-copy-metadata "openai-whisper" --collect-data whisper GUI.py + pyinstaller --name Saltify --windowed --noconfirm --onefile -c \ + --copy-metadata torch \ + --copy-metadata tqdm \ + --copy-metadata regex \ + --copy-metadata sacremoses \ + --copy-metadata requests \ + --copy-metadata packaging \ + --copy-metadata filelock \ + --copy-metadata numpy \ + --copy-metadata tokenizers \ + --copy-metadata importlib_metadata \ + --collect-data sv_ttk \ + --recursive-copy-metadata "openai-whisper" \ + --collect-data whisper GUI.py + echo "Build completed. Verifying output:" + find dist || echo "No files in dist directory" - uses: actions/upload-artifact@v4 - if: always() with: name: SpeechTranscription_macos - path: dist/Saltify \ No newline at end of file + path: dist/* From 7cb5dc29714a8f277fe31b80a1f97469d6c1cd51 Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Sun, 10 Nov 2024 23:16:10 -0600 Subject: [PATCH 26/42] testt --- .github/workflows/macos-build.yml | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index 170340f..798bec8 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -14,19 +14,30 @@ jobs: steps: - uses: actions/checkout@v4 + - uses: actions/setup-python@v4 with: python-version: 3.11.7 - - name: Install Dependencies + + - name: Install System Dependencies run: | brew update brew install openjdk@11 mysql pkg-config portaudio + + - name: Install Python Dependencies + run: | + pip install --upgrade pip pip install -r requirements.txt pyinstaller - - name: Validate Dependencies + + - name: Remove Obsolete Typing Package + run: | + pip uninstall -y typing || echo "No typing package to remove" + + - name: Validate Python Dependencies run: | python --version pip list - java -version + - name: Build Executable with PyInstaller run: | pyinstaller --name Saltify --windowed --noconfirm --onefile -c \ @@ -43,9 +54,11 @@ jobs: --collect-data sv_ttk \ --recursive-copy-metadata "openai-whisper" \ --collect-data whisper GUI.py - echo "Build completed. Verifying output:" - find dist || echo "No files in dist directory" - - uses: actions/upload-artifact@v4 + echo "Build completed. Verifying output..." + find dist || echo "No files found in dist directory" + + - name: Upload Build Artifact + uses: actions/upload-artifact@v4 with: name: SpeechTranscription_macos path: dist/* From 0abb2b5c45ca63aed0ee783b532ea64fd6a97bea Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Mon, 11 Nov 2024 15:10:35 -0600 Subject: [PATCH 27/42] trying to figure out issues --- .github/workflows/macos-build.yml | 61 +++++++++++++++++++------------ .github/workflows/release.yml | 20 +++------- 2 files changed, 44 insertions(+), 37 deletions(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index 798bec8..16b9191 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -1,11 +1,7 @@ -on: +on: push: branches: - main - - fix-mac-exe - - testingv4artifact - - issue169_dependency - - issue178_build-test-failures - issue182_releaseprocess jobs: @@ -13,34 +9,49 @@ jobs: runs-on: macos-latest steps: + # Checkout the code - uses: actions/checkout@v4 + # Set up Python environment - uses: actions/setup-python@v4 with: python-version: 3.11.7 - - name: Install System Dependencies + # Install required tools and libraries + - name: Install Required System Tools run: | - brew update - brew install openjdk@11 mysql pkg-config portaudio + brew install pkg-config mysql-client - - name: Install Python Dependencies + # Configure MySQL environment + - name: Configure MySQL Environment run: | - pip install --upgrade pip - pip install -r requirements.txt pyinstaller + export PATH="/usr/local/opt/mysql-client/bin:$PATH" + export PKG_CONFIG_PATH="/usr/local/opt/mysql-client/lib/pkgconfig" + export MYSQLCLIENT_CFLAGS="-I/usr/local/opt/mysql-client/include" + export MYSQLCLIENT_LDFLAGS="-L/usr/local/opt/mysql-client/lib" - - name: Remove Obsolete Typing Package + # Install mysqlclient + - name: Install mysqlclient + run: pip install --only-binary :all: mysqlclient + + # Install Python dependencies + - name: Install Python dependencies run: | - pip uninstall -y typing || echo "No typing package to remove" + python -m pip install --upgrade pip + pip install -r requirements.txt pyinstaller importlib-metadata sacremoses tokenizers + pip uninstall -y typing + python -m nltk.downloader all - - name: Validate Python Dependencies + # Verify Python and PyInstaller installation + - name: Verify Python and PyInstaller installation run: | python --version - pip list + pyinstaller --version - - name: Build Executable with PyInstaller + # Build the macOS executable + - name: Build executable run: | - pyinstaller --name Saltify --windowed --noconfirm --onefile -c \ + pyinstaller --name Saltify --windowed --noconfirm --onefile \ --copy-metadata torch \ --copy-metadata tqdm \ --copy-metadata regex \ @@ -53,12 +64,16 @@ jobs: --copy-metadata importlib_metadata \ --collect-data sv_ttk \ --recursive-copy-metadata "openai-whisper" \ - --collect-data whisper GUI.py - echo "Build completed. Verifying output..." - find dist || echo "No files found in dist directory" + --collect-data whisper \ + GUI.py + + # Set permissions for macOS executable + - name: Set permissions for macOS executable + run: chmod +x dist/Saltify - - name: Upload Build Artifact - uses: actions/upload-artifact@v4 + # Upload the built executable as an artifact + - uses: actions/upload-artifact@v4 + if: always() with: name: SpeechTranscription_macos - path: dist/* + path: dist/Saltify \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 41ceb4c..54bd77f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,7 +2,6 @@ name: Release on: push: branches: - - issue178_build-test-failures - main - issue182_releaseprocess permissions: @@ -32,16 +31,11 @@ jobs: with: name: SpeechTranscription_windows path: artifacts/windows - - name: Debug Artifacts - run: | - echo "Debugging macOS artifacts:" - find artifacts/macos || echo "No macOS artifacts found" - echo "Debugging Windows artifacts:" - find artifacts/windows || echo "No Windows artifacts found" - name: List directory structure run: | echo "Full directory structure:" find . -type f -not -path "./.git/*" + echo "Contents of artifacts directory:" ls -la artifacts/ ls -la artifacts/macos || echo "No macOS artifacts" @@ -56,14 +50,14 @@ jobs: if [ -d "artifacts/macos" ] && [ "$(ls -A artifacts/macos)" ]; then echo "- macOS executable included" >> release_notes.md - find artifacts/macos -type f -name "Saltify*" -exec zip -j artifacts/Saltify_macos.zip {} \; + zip -j artifacts/Saltify_macos.zip artifacts/macos/* else echo "Note: macOS executable not available for this release" >> release_notes.md fi if [ -d "artifacts/windows" ] && [ "$(ls -A artifacts/windows)" ]; then echo "- Windows executable included" >> release_notes.md - find artifacts/windows -type f -name "Saltify*" -exec zip -j artifacts/Saltify_windows.zip {} \; + zip -j artifacts/Saltify_windows.zip artifacts/windows/* else echo "Note: Windows executable not available for this release" >> release_notes.md fi @@ -81,8 +75,7 @@ jobs: body_path: ./release_notes.md draft: false prerelease: false - - name: Upload macOS Release Asset - if: exists(artifacts/Saltify_macos.zip) + - name: Upload Release Assets uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -91,8 +84,7 @@ jobs: asset_path: artifacts/Saltify_macos.zip asset_name: Saltify_macos.zip asset_content_type: application/zip - - name: Upload Windows Release Asset - if: exists(artifacts/Saltify_windows.zip) + - name: Upload Release Assets uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -100,4 +92,4 @@ jobs: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: artifacts/Saltify_windows.zip asset_name: Saltify_windows.zip - asset_content_type: application/zip + asset_content_type: application/zip \ No newline at end of file From b348fade096124dcdda843c057df3021b1f88014 Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Tue, 12 Nov 2024 16:53:55 -0600 Subject: [PATCH 28/42] making changes --- .github/workflows/macos-build.yml | 14 ++++++++++-- .github/workflows/release.yml | 38 +++++++++++++++---------------- 2 files changed, 31 insertions(+), 21 deletions(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index 16b9191..c33f2f0 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -61,19 +61,29 @@ jobs: --copy-metadata filelock \ --copy-metadata numpy \ --copy-metadata tokenizers \ + --copy-metadata customtkinter \ --copy-metadata importlib_metadata \ --collect-data sv_ttk \ + --collect-data customtkinter \ --recursive-copy-metadata "openai-whisper" \ --collect-data whisper \ GUI.py + # Debug build directory if issues arise + - name: Debug build directory + run: | + echo "Contents of the dist directory:" + ls -la dist/ + echo "Contents of the Saltify directory (if exists):" + ls -la dist/Saltify || echo "Saltify directory not found" + # Set permissions for macOS executable - name: Set permissions for macOS executable - run: chmod +x dist/Saltify + run: chmod +x dist/Saltify/Saltify # Upload the built executable as an artifact - uses: actions/upload-artifact@v4 if: always() with: name: SpeechTranscription_macos - path: dist/Saltify \ No newline at end of file + path: dist/Saltify/* diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 54bd77f..26a727d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4,42 +4,48 @@ on: branches: - main - issue182_releaseprocess + permissions: contents: write packages: read actions: read + jobs: call-macos-build: uses: oss-slu/SpeechTranscription/.github/workflows/macos-build.yml@build_fixes_copy + call-windows-build: uses: oss-slu/SpeechTranscription/.github/workflows/windows-build.yml@build_fixes_copy + release: needs: [call-macos-build, call-windows-build] runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 + - name: Create artifacts directory run: mkdir -p artifacts/macos artifacts/windows + - name: Download macOS build artifacts uses: actions/download-artifact@v4 with: name: SpeechTranscription_macos path: artifacts/macos + - name: Download Windows build artifacts uses: actions/download-artifact@v4 with: name: SpeechTranscription_windows path: artifacts/windows - - name: List directory structure + + - name: Debug artifacts run: | - echo "Full directory structure:" - find . -type f -not -path "./.git/*" - echo "Contents of artifacts directory:" ls -la artifacts/ - ls -la artifacts/macos || echo "No macOS artifacts" - ls -la artifacts/windows || echo "No Windows artifacts" + ls -la artifacts/macos || echo "No macOS artifacts found" + ls -la artifacts/windows || echo "No Windows artifacts found" + - name: Create project ZIP run: | echo "Build number: ${{ github.run_number }}" >> release_notes.md @@ -61,9 +67,7 @@ jobs: else echo "Note: Windows executable not available for this release" >> release_notes.md fi - - echo "- Saltify_macos.zip: macOS executable" >> release_notes.md - echo "- Saltify_windows.zip: Windows executable" >> release_notes.md + - name: Create GitHub Release id: create_release uses: actions/create-release@v1 @@ -75,7 +79,9 @@ jobs: body_path: ./release_notes.md draft: false prerelease: false - - name: Upload Release Assets + + - name: Upload macOS Release Asset + if: ${{ steps.create_release.outputs.upload_url && -f "artifacts/Saltify_macos.zip" }} uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -84,12 +90,6 @@ jobs: asset_path: artifacts/Saltify_macos.zip asset_name: Saltify_macos.zip asset_content_type: application/zip - - name: Upload Release Assets - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: artifacts/Saltify_windows.zip - asset_name: Saltify_windows.zip - asset_content_type: application/zip \ No newline at end of file + + - name: Upload Windows Release Asset + if: ${{ steps.create_release.outputs.u From 6b940d1fc41058818ff938496d05adaf476cab8e Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Tue, 12 Nov 2024 16:57:58 -0600 Subject: [PATCH 29/42] changing release file back --- .github/workflows/release.yml | 38 +++++++++++++++++------------------ 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 26a727d..54bd77f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4,48 +4,42 @@ on: branches: - main - issue182_releaseprocess - permissions: contents: write packages: read actions: read - jobs: call-macos-build: uses: oss-slu/SpeechTranscription/.github/workflows/macos-build.yml@build_fixes_copy - call-windows-build: uses: oss-slu/SpeechTranscription/.github/workflows/windows-build.yml@build_fixes_copy - release: needs: [call-macos-build, call-windows-build] runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - - name: Create artifacts directory run: mkdir -p artifacts/macos artifacts/windows - - name: Download macOS build artifacts uses: actions/download-artifact@v4 with: name: SpeechTranscription_macos path: artifacts/macos - - name: Download Windows build artifacts uses: actions/download-artifact@v4 with: name: SpeechTranscription_windows path: artifacts/windows - - - name: Debug artifacts + - name: List directory structure run: | + echo "Full directory structure:" + find . -type f -not -path "./.git/*" + echo "Contents of artifacts directory:" ls -la artifacts/ - ls -la artifacts/macos || echo "No macOS artifacts found" - ls -la artifacts/windows || echo "No Windows artifacts found" - + ls -la artifacts/macos || echo "No macOS artifacts" + ls -la artifacts/windows || echo "No Windows artifacts" - name: Create project ZIP run: | echo "Build number: ${{ github.run_number }}" >> release_notes.md @@ -67,7 +61,9 @@ jobs: else echo "Note: Windows executable not available for this release" >> release_notes.md fi - + + echo "- Saltify_macos.zip: macOS executable" >> release_notes.md + echo "- Saltify_windows.zip: Windows executable" >> release_notes.md - name: Create GitHub Release id: create_release uses: actions/create-release@v1 @@ -79,9 +75,7 @@ jobs: body_path: ./release_notes.md draft: false prerelease: false - - - name: Upload macOS Release Asset - if: ${{ steps.create_release.outputs.upload_url && -f "artifacts/Saltify_macos.zip" }} + - name: Upload Release Assets uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -90,6 +84,12 @@ jobs: asset_path: artifacts/Saltify_macos.zip asset_name: Saltify_macos.zip asset_content_type: application/zip - - - name: Upload Windows Release Asset - if: ${{ steps.create_release.outputs.u + - name: Upload Release Assets + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: artifacts/Saltify_windows.zip + asset_name: Saltify_windows.zip + asset_content_type: application/zip \ No newline at end of file From d02583e9587a2ab06b6f8d2e5795fd22d3f9f09c Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Tue, 12 Nov 2024 17:15:00 -0600 Subject: [PATCH 30/42] ensuring java is installed --- .github/workflows/macos-build.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index c33f2f0..f540f85 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -21,6 +21,13 @@ jobs: - name: Install Required System Tools run: | brew install pkg-config mysql-client + + # Set up Java environment + - name: Configure Java Environment + run: | + export JAVA_HOME=$(/usr/libexec/java_home) + export PATH="$JAVA_HOME/bin:$PATH" + java -version # Configure MySQL environment - name: Configure MySQL Environment From 3ef3b3404579e3cd1b1d5fd48fc64abcf23b4e29 Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Tue, 12 Nov 2024 17:16:13 -0600 Subject: [PATCH 31/42] ensuring java and ctkframe --- .github/workflows/macos-build.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index f540f85..489d006 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -21,7 +21,7 @@ jobs: - name: Install Required System Tools run: | brew install pkg-config mysql-client - + # Set up Java environment - name: Configure Java Environment run: | @@ -41,18 +41,19 @@ jobs: - name: Install mysqlclient run: pip install --only-binary :all: mysqlclient - # Install Python dependencies + # Install Python dependencies, including customtkinter - name: Install Python dependencies run: | python -m pip install --upgrade pip - pip install -r requirements.txt pyinstaller importlib-metadata sacremoses tokenizers + pip install -r requirements.txt pyinstaller importlib-metadata sacremoses tokenizers customtkinter pip uninstall -y typing python -m nltk.downloader all - # Verify Python and PyInstaller installation - - name: Verify Python and PyInstaller installation + # Verify Python, Java, and PyInstaller installation + - name: Verify Python, Java, and PyInstaller installation run: | python --version + java -version pyinstaller --version # Build the macOS executable From ff2b3904cd9525783cb6e8c77f3189b881eece7c Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Tue, 12 Nov 2024 17:23:37 -0600 Subject: [PATCH 32/42] adding submodules update --- .github/workflows/macos-build.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index 489d006..43edfa7 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -56,6 +56,12 @@ jobs: java -version pyinstaller --version + # Initialize and update submodules + - name: Initialize and update submodules + run: | + git submodule init + git submodule update + # Build the macOS executable - name: Build executable run: | From a975fcbaeae9a2f3eb94314c1e29998c4d9203c3 Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Tue, 12 Nov 2024 17:44:55 -0600 Subject: [PATCH 33/42] adjusting name underneath upload of exe --- .github/workflows/macos-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index 43edfa7..ef2edd7 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -100,4 +100,4 @@ jobs: if: always() with: name: SpeechTranscription_macos - path: dist/Saltify/* + path: dist/Saltify.exe \ No newline at end of file From 4d921ae6f045a42f14f64f6585ea543736b34afa Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Thu, 14 Nov 2024 13:33:29 -0600 Subject: [PATCH 34/42] added some changes --- .github/workflows/macos-build.yml | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index ef2edd7..4621e1f 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -49,13 +49,6 @@ jobs: pip uninstall -y typing python -m nltk.downloader all - # Verify Python, Java, and PyInstaller installation - - name: Verify Python, Java, and PyInstaller installation - run: | - python --version - java -version - pyinstaller --version - # Initialize and update submodules - name: Initialize and update submodules run: | @@ -66,6 +59,8 @@ jobs: - name: Build executable run: | pyinstaller --name Saltify --windowed --noconfirm --onefile \ + --distpath dist \ + --add-data "application/static:static" \ --copy-metadata torch \ --copy-metadata tqdm \ --copy-metadata regex \ @@ -85,19 +80,15 @@ jobs: # Debug build directory if issues arise - name: Debug build directory - run: | - echo "Contents of the dist directory:" - ls -la dist/ - echo "Contents of the Saltify directory (if exists):" - ls -la dist/Saltify || echo "Saltify directory not found" + run: ls -la dist/ # Set permissions for macOS executable - name: Set permissions for macOS executable - run: chmod +x dist/Saltify/Saltify + run: chmod +x dist/Saltify # Upload the built executable as an artifact - uses: actions/upload-artifact@v4 if: always() with: name: SpeechTranscription_macos - path: dist/Saltify.exe \ No newline at end of file + path: dist/Saltify \ No newline at end of file From f2c8cee15bff030af4784107dbe421035b216a5b Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Thu, 14 Nov 2024 13:57:07 -0600 Subject: [PATCH 35/42] trying bash --- .github/workflows/build-saltify.sh | 37 ++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 .github/workflows/build-saltify.sh diff --git a/.github/workflows/build-saltify.sh b/.github/workflows/build-saltify.sh new file mode 100644 index 0000000..c816fd4 --- /dev/null +++ b/.github/workflows/build-saltify.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +# Create a virtual environment +python3 -m venv venv +source venv/bin/activate + +# Install dependencies +pip install --upgrade pip +pip install -r requirements.txt pyinstaller customtkinter + +# Build the executable with PyInstaller +pyinstaller --name Saltify --windowed --noconfirm --onefile \ + --add-data "application/static:static" \ + --copy-metadata torch \ + --copy-metadata tqdm \ + --copy-metadata regex \ + --copy-metadata sacremoses \ + --copy-metadata requests \ + --copy-metadata packaging \ + --copy-metadata filelock \ + --copy-metadata numpy \ + --copy-metadata tokenizers \ + --copy-metadata customtkinter \ + --copy-metadata importlib_metadata \ + --collect-data sv_ttk \ + --collect-data customtkinter \ + --recursive-copy-metadata "openai-whisper" \ + --collect-data whisper \ + GUI.py + +# Deactivate the virtual environment +deactivate + +# Set permissions for macOS +chmod +x dist/Saltify + +echo "Build complete. Check the dist/ directory." From 34f3b74ecf212e432fc6e3f7d790c175405da4ca Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Thu, 14 Nov 2024 14:02:16 -0600 Subject: [PATCH 36/42] adding bash + java + nltk, etc installtions --- .github/workflows/build-saltify.sh | 46 ++++++++++++--- .github/workflows/macos-build.yml | 91 ++++++++---------------------- 2 files changed, 63 insertions(+), 74 deletions(-) diff --git a/.github/workflows/build-saltify.sh b/.github/workflows/build-saltify.sh index c816fd4..f4fd183 100644 --- a/.github/workflows/build-saltify.sh +++ b/.github/workflows/build-saltify.sh @@ -1,14 +1,42 @@ #!/bin/bash -# Create a virtual environment +# Determine the OS (macOS or Linux) +OS=$(uname -s) +if [[ "$OS" == "Darwin" ]]; then + echo "Building on macOS..." +elif [[ "$OS" == "Linux" ]]; then + echo "Building on Linux..." +else + echo "Unsupported operating system: $OS" + exit 1 +fi + +# Step 1: Create a virtual environment +echo "Setting up Python virtual environment..." python3 -m venv venv source venv/bin/activate -# Install dependencies +# Step 2: Upgrade pip and install dependencies +echo "Installing Python dependencies..." pip install --upgrade pip pip install -r requirements.txt pyinstaller customtkinter -# Build the executable with PyInstaller +# Step 3: Download NLTK corpora +echo "Downloading NLTK corpora..." +python -m nltk.downloader all + +# Step 4: Ensure Java is installed and accessible +if command -v java &> /dev/null; then + echo "Java is installed:" + java -version +else + echo "Java is not installed. Please install it and try again." + deactivate + exit 1 +fi + +# Step 5: Build the executable with PyInstaller +echo "Building the Saltify executable..." pyinstaller --name Saltify --windowed --noconfirm --onefile \ --add-data "application/static:static" \ --copy-metadata torch \ @@ -28,10 +56,12 @@ pyinstaller --name Saltify --windowed --noconfirm --onefile \ --collect-data whisper \ GUI.py -# Deactivate the virtual environment -deactivate - -# Set permissions for macOS +# Step 6: Clean up and set permissions for macOS +echo "Setting permissions for the executable..." chmod +x dist/Saltify -echo "Build complete. Check the dist/ directory." +# Step 7: Deactivate the virtual environment +echo "Deactivating virtual environment..." +deactivate + +echo "Build completed. Check the dist/ directory for the output." diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index 4621e1f..44eca97 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -1,3 +1,5 @@ +name: Build macOS Executable + on: push: branches: @@ -9,86 +11,43 @@ jobs: runs-on: macos-latest steps: - # Checkout the code - - uses: actions/checkout@v4 + # Step 1: Checkout the code + - name: Checkout code + uses: actions/checkout@v4 - # Set up Python environment - - uses: actions/setup-python@v4 - with: - python-version: 3.11.7 + # Step 2: Make the build script executable + - name: Make build script executable + run: chmod +x workflows/build-saltify.sh - # Install required tools and libraries + # Step 3: Install required system tools - name: Install Required System Tools run: | brew install pkg-config mysql-client - - # Set up Java environment - - name: Configure Java Environment - run: | - export JAVA_HOME=$(/usr/libexec/java_home) - export PATH="$JAVA_HOME/bin:$PATH" - java -version - - # Configure MySQL environment - - name: Configure MySQL Environment - run: | export PATH="/usr/local/opt/mysql-client/bin:$PATH" export PKG_CONFIG_PATH="/usr/local/opt/mysql-client/lib/pkgconfig" export MYSQLCLIENT_CFLAGS="-I/usr/local/opt/mysql-client/include" export MYSQLCLIENT_LDFLAGS="-L/usr/local/opt/mysql-client/lib" - # Install mysqlclient - - name: Install mysqlclient - run: pip install --only-binary :all: mysqlclient - - # Install Python dependencies, including customtkinter - - name: Install Python dependencies - run: | - python -m pip install --upgrade pip - pip install -r requirements.txt pyinstaller importlib-metadata sacremoses tokenizers customtkinter - pip uninstall -y typing - python -m nltk.downloader all - - # Initialize and update submodules - - name: Initialize and update submodules + # Step 4: Configure Java environment + - name: Configure Java Environment run: | - git submodule init - git submodule update + export JAVA_HOME=$(/usr/libexec/java_home) + export PATH="$JAVA_HOME/bin:$PATH" + java -version - # Build the macOS executable - - name: Build executable - run: | - pyinstaller --name Saltify --windowed --noconfirm --onefile \ - --distpath dist \ - --add-data "application/static:static" \ - --copy-metadata torch \ - --copy-metadata tqdm \ - --copy-metadata regex \ - --copy-metadata sacremoses \ - --copy-metadata requests \ - --copy-metadata packaging \ - --copy-metadata filelock \ - --copy-metadata numpy \ - --copy-metadata tokenizers \ - --copy-metadata customtkinter \ - --copy-metadata importlib_metadata \ - --collect-data sv_ttk \ - --collect-data customtkinter \ - --recursive-copy-metadata "openai-whisper" \ - --collect-data whisper \ - GUI.py + # Step 5: Run the build script + - name: Run Saltify Build Script + run: ./workflows/build-saltify.sh - # Debug build directory if issues arise + # Step 6: Verify the build output - name: Debug build directory - run: ls -la dist/ - - # Set permissions for macOS executable - - name: Set permissions for macOS executable - run: chmod +x dist/Saltify + run: | + echo "Contents of the dist directory:" + ls -la dist/ - # Upload the built executable as an artifact - - uses: actions/upload-artifact@v4 - if: always() + # Step 7: Upload the built artifact + - name: Upload macOS Build Artifact + uses: actions/upload-artifact@v4 with: name: SpeechTranscription_macos - path: dist/Saltify \ No newline at end of file + path: dist/Saltify From a838ec528731021c3cce0f7e4f8b5419958d6b1d Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Thu, 14 Nov 2024 14:17:24 -0600 Subject: [PATCH 37/42] fixing path --- .github/workflows/macos-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index 44eca97..11c0071 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -17,7 +17,7 @@ jobs: # Step 2: Make the build script executable - name: Make build script executable - run: chmod +x workflows/build-saltify.sh + run: chmod +x .github/workflows/build-saltify.sh # Step 3: Install required system tools - name: Install Required System Tools From 6af029c8708b6b95b9308408ef7cff5a296c2f5f Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Thu, 14 Nov 2024 14:19:50 -0600 Subject: [PATCH 38/42] fixing path again. --- .github/workflows/macos-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index 11c0071..fc5099f 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -37,7 +37,7 @@ jobs: # Step 5: Run the build script - name: Run Saltify Build Script - run: ./workflows/build-saltify.sh + run: ./.github/workflows/build-saltify.sh # Step 6: Verify the build output - name: Debug build directory From 6e45d28605b647368d0691f6a04c2137aeecec80 Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Thu, 14 Nov 2024 14:23:21 -0600 Subject: [PATCH 39/42] removing debug --- .github/workflows/macos-build.yml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index fc5099f..7c38250 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -39,13 +39,7 @@ jobs: - name: Run Saltify Build Script run: ./.github/workflows/build-saltify.sh - # Step 6: Verify the build output - - name: Debug build directory - run: | - echo "Contents of the dist directory:" - ls -la dist/ - - # Step 7: Upload the built artifact + # Step 6: Upload the built artifact - name: Upload macOS Build Artifact uses: actions/upload-artifact@v4 with: From 512ede2c5fd524d853618dbc12c3fd9622509d38 Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Thu, 14 Nov 2024 14:43:01 -0600 Subject: [PATCH 40/42] adding pyinstaller --- .github/workflows/build-saltify.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build-saltify.sh b/.github/workflows/build-saltify.sh index f4fd183..4e007a9 100644 --- a/.github/workflows/build-saltify.sh +++ b/.github/workflows/build-saltify.sh @@ -38,7 +38,6 @@ fi # Step 5: Build the executable with PyInstaller echo "Building the Saltify executable..." pyinstaller --name Saltify --windowed --noconfirm --onefile \ - --add-data "application/static:static" \ --copy-metadata torch \ --copy-metadata tqdm \ --copy-metadata regex \ From e41b945100dd5f3ce2915872bfb44a441a417a42 Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Mon, 18 Nov 2024 13:30:38 -0600 Subject: [PATCH 41/42] Adding changes --- .github/workflows/build-saltify.sh | 22 +++++++++------------- .github/workflows/macos-build.yml | 25 ++++++++++++++++--------- 2 files changed, 25 insertions(+), 22 deletions(-) diff --git a/.github/workflows/build-saltify.sh b/.github/workflows/build-saltify.sh index 4e007a9..b813a48 100644 --- a/.github/workflows/build-saltify.sh +++ b/.github/workflows/build-saltify.sh @@ -1,13 +1,9 @@ #!/bin/bash -# Determine the OS (macOS or Linux) +# Ensure the script runs only on macOS OS=$(uname -s) -if [[ "$OS" == "Darwin" ]]; then - echo "Building on macOS..." -elif [[ "$OS" == "Linux" ]]; then - echo "Building on Linux..." -else - echo "Unsupported operating system: $OS" +if [[ "$OS" != "Darwin" ]]; then + echo "This script is designed to run only on macOS." exit 1 fi @@ -36,7 +32,7 @@ else fi # Step 5: Build the executable with PyInstaller -echo "Building the Saltify executable..." +echo "Building the Saltify macOS executable..." pyinstaller --name Saltify --windowed --noconfirm --onefile \ --copy-metadata torch \ --copy-metadata tqdm \ @@ -55,12 +51,12 @@ pyinstaller --name Saltify --windowed --noconfirm --onefile \ --collect-data whisper \ GUI.py -# Step 6: Clean up and set permissions for macOS -echo "Setting permissions for the executable..." -chmod +x dist/Saltify +# Step 6: Zip the output +echo "Zipping the macOS output..." +zip -r dist/Saltify.zip dist/Saltify -# Step 7: Deactivate the virtual environment +# Step 7: Clean up and deactivate the virtual environment echo "Deactivating virtual environment..." deactivate -echo "Build completed. Check the dist/ directory for the output." +echo "Build completed. Check the dist/ directory for the macOS executable." diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml index 7c38250..268bf20 100644 --- a/.github/workflows/macos-build.yml +++ b/.github/workflows/macos-build.yml @@ -15,14 +15,17 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - # Step 2: Make the build script executable - - name: Make build script executable - run: chmod +x .github/workflows/build-saltify.sh + # Step 2: Set up Homebrew + - name: Set up Homebrew + run: | + echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile + eval "$(/opt/homebrew/bin/brew shellenv)" + brew update - # Step 3: Install required system tools + # Step 3: Install required tools - name: Install Required System Tools run: | - brew install pkg-config mysql-client + brew install pkg-config mysql-client java export PATH="/usr/local/opt/mysql-client/bin:$PATH" export PKG_CONFIG_PATH="/usr/local/opt/mysql-client/lib/pkgconfig" export MYSQLCLIENT_CFLAGS="-I/usr/local/opt/mysql-client/include" @@ -35,13 +38,17 @@ jobs: export PATH="$JAVA_HOME/bin:$PATH" java -version - # Step 5: Run the build script + # Step 5: Make the build script executable + - name: Make build script executable + run: chmod +x .github/workflows/build-saltify.sh + + # Step 6: Run the Saltify build script - name: Run Saltify Build Script run: ./.github/workflows/build-saltify.sh - # Step 6: Upload the built artifact + # Step 7: Upload the built artifact - name: Upload macOS Build Artifact uses: actions/upload-artifact@v4 with: - name: SpeechTranscription_macos - path: dist/Saltify + name: Saltify_macOS + path: dist/Saltify.zip From 85d7f4144bada708bee1157899c6f3ce287bca7c Mon Sep 17 00:00:00 2001 From: Emra Meduseljac Date: Mon, 18 Nov 2024 15:39:04 -0600 Subject: [PATCH 42/42] Adding tokenizers to build-saltify.sh --- .github/workflows/build-saltify.sh | 7 +++++++ 1 file changed, 7 insertions(+) mode change 100644 => 100755 .github/workflows/build-saltify.sh diff --git a/.github/workflows/build-saltify.sh b/.github/workflows/build-saltify.sh old mode 100644 new mode 100755 index b813a48..0bd58ca --- a/.github/workflows/build-saltify.sh +++ b/.github/workflows/build-saltify.sh @@ -17,6 +17,12 @@ echo "Installing Python dependencies..." pip install --upgrade pip pip install -r requirements.txt pyinstaller customtkinter +# Ensure 'typing' is not installed +if pip show typing &> /dev/null; then + echo "Removing obsolete 'typing' package..." + pip uninstall -y typing +fi + # Step 3: Download NLTK corpora echo "Downloading NLTK corpora..." python -m nltk.downloader all @@ -38,6 +44,7 @@ pyinstaller --name Saltify --windowed --noconfirm --onefile \ --copy-metadata tqdm \ --copy-metadata regex \ --copy-metadata sacremoses \ + --copy-metadata tokenizers \ --copy-metadata requests \ --copy-metadata packaging \ --copy-metadata filelock \