Skip to content

Add missing PyInstaller spec file for GitHub Actions build#11

Merged
PrestonHager merged 1 commit into
mainfrom
bugfix/add-pyinstaller-spec
Jan 18, 2026
Merged

Add missing PyInstaller spec file for GitHub Actions build#11
PrestonHager merged 1 commit into
mainfrom
bugfix/add-pyinstaller-spec

Conversation

@PrestonHager
Copy link
Copy Markdown
Owner

The build workflow referenced Wordweaver.spec which did not exist in the repository. This adds the spec file to src/ and updates the workflow to use the correct path.

The build workflow referenced Wordweaver.spec which did not exist in the
repository. This adds the spec file to src/ and updates the workflow to
use the correct path.
Copilot AI review requested due to automatic review settings January 18, 2026 04:31
@PrestonHager PrestonHager merged commit 98fd64e into main Jan 18, 2026
3 checks passed
@PrestonHager PrestonHager deleted the bugfix/add-pyinstaller-spec branch January 18, 2026 04:31
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a missing PyInstaller spec file that was referenced but not present in the repository, fixing the GitHub Actions build workflow. The spec file defines how to bundle the Wordweaver application into standalone executables for macOS, Linux, and Windows platforms.

Changes:

  • Added PyInstaller spec file (src/Wordweaver.spec) with platform-specific configurations for bundling the Wordweaver application
  • Updated build workflow paths to correctly reference the spec file location at src/Wordweaver.spec

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
src/Wordweaver.spec New PyInstaller specification file defining build configuration, including dependencies, data files, and platform-specific settings for creating standalone executables
.github/workflows/python-app-build.yml Updated PyInstaller command paths in both macOS/Linux and Windows build jobs to reference the spec file at its correct location

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/Wordweaver.spec
Comment on lines +82 to +83
'CFBundleShortVersionString': Path('VERSION').read_text().strip(),
'CFBundleVersion': Path('VERSION').read_text().strip(),
Copy link

Copilot AI Jan 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The VERSION file is read twice when building the macOS bundle. Consider reading it once and reusing the value to improve efficiency and reduce potential for I/O errors. For example, store it in a variable at the top of the spec file: version = Path('VERSION').read_text().strip() and use that variable in the info_plist dictionary.

Copilot uses AI. Check for mistakes.
Comment thread src/Wordweaver.spec
'PyQt6.QtGui',
'PyQt6.QtWidgets',
'platformdirs',
'pyperclip',
Copy link

Copilot AI Jan 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider adding 'ipapy.ipachar' and potentially other ipapy submodules to the hiddenimports list. The code uses dynamic imports from ipapy (e.g., 'from ipapy import IPA_CHARS' inside a function in phonology.py) which PyInstaller's static analysis may not detect. This could cause runtime import errors in the bundled executable.

Suggested change
'pyperclip',
'pyperclip',
'ipapy',
'ipapy.ipachar',

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants