1- name : Build JSON to CSV Converter
1+ name : Build FileShift
22
33on :
44 push :
@@ -20,22 +20,22 @@ jobs:
2020 - os : macos-latest # Apple Silicon
2121 arch : arm64
2222 name : apple-silicon
23-
23+
2424 runs-on : ${{ matrix.os }}
25-
25+
2626 steps :
2727 - uses : actions/checkout@v4
28-
28+
2929 - name : Set up Python
3030 uses : actions/setup-python@v5
3131 with :
3232 python-version : ' 3.11'
33-
33+
3434 - name : Install dependencies
3535 run : |
3636 python -m pip install --upgrade pip
3737 pip install pyinstaller PyQt6
38-
38+
3939 - name : Build application
4040 run : |
4141 # Create optimized spec file
@@ -61,6 +61,9 @@ excluded_modules = [
6161
6262a = Analysis(
6363 ['json_to_csv_multifile_pyqt.py'],
64+ pathex=['.'],
65+ datas=[('src', 'src')],
66+ hiddenimports=['src.converters', 'src.converters.base', 'src.converters.handlers', 'src.converters.operations'],
6467 excludes=excluded_modules,
6568 optimize=2,
6669)
@@ -78,7 +81,7 @@ pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)
7881exe = EXE(
7982 pyz, a.scripts, [],
8083 exclude_binaries=True,
81- name='JSON to CSV Converter ',
84+ name='FileShift ',
8285 debug=False,
8386 strip=True,
8487 upx=False,
@@ -89,83 +92,83 @@ coll = COLLECT(
8992 exe, a.binaries, a.zipfiles, a.datas,
9093 strip=True,
9194 upx=False,
92- name='JSON to CSV Converter ',
95+ name='FileShift ',
9396)
9497
9598app = BUNDLE(
9699 coll,
97- name='JSON to CSV Converter .app',
98- bundle_identifier='com.simplifi.jsontocsv ',
100+ name='FileShift .app',
101+ bundle_identifier='com.simplifi.fileshift ',
99102)
100103EOF
101-
104+
102105 # Build with optimized spec
103106 pyinstaller --clean json_to_csv_multifile_pyqt.spec
104-
107+
105108 - name : Create DMG
106109 run : |
107110 # Debug: Check what was created
108111 echo "Contents of dist directory:"
109112 ls -la dist/
110-
113+
111114 # Verify the app exists
112- if [ ! -d "dist/JSON to CSV Converter .app" ]; then
115+ if [ ! -d "dist/FileShift .app" ]; then
113116 echo "ERROR: Application not found in dist directory"
114117 exit 1
115118 fi
116-
119+
117120 # Create a DMG for easier distribution
118121 mkdir -p dmg_contents
119- cp -R "dist/JSON to CSV Converter .app" dmg_contents/
120-
122+ cp -R "dist/FileShift .app" dmg_contents/
123+
121124 # Create Applications symlink
122125 ln -s /Applications dmg_contents/Applications
123-
126+
124127 # Create DMG
125- hdiutil create -volname "JSON to CSV Converter " \
128+ hdiutil create -volname "FileShift " \
126129 -srcfolder dmg_contents \
127130 -ov -format UDZO \
128- "JSON-to-CSV-Converter -${{ matrix.name }}.dmg"
129-
131+ "FileShift -${{ matrix.name }}.dmg"
132+
130133 - name : Upload artifact
131134 uses : actions/upload-artifact@v4
132135 with :
133- name : JSON-to-CSV-Converter -${{ matrix.name }}
134- path : JSON-to-CSV-Converter -${{ matrix.name }}.dmg
136+ name : FileShift -${{ matrix.name }}
137+ path : FileShift -${{ matrix.name }}.dmg
135138 if-no-files-found : error
136139
137140 create-release :
138141 needs : build-macos
139142 runs-on : ubuntu-latest
140143 if : startsWith(github.ref, 'refs/tags/')
141-
144+
142145 steps :
143146 - name : Download all artifacts
144147 uses : actions/download-artifact@v4
145-
148+
146149 - name : Create Release
147150 uses : softprops/action-gh-release@v1
148151 with :
149152 files : |
150- JSON-to-CSV-Converter- intel/JSON-to-CSV-Converter -intel.dmg
151- JSON-to-CSV-Converter- apple-silicon/JSON-to-CSV-Converter -apple-silicon.dmg
153+ FileShift- intel/FileShift -intel.dmg
154+ FileShift- apple-silicon/FileShift -apple-silicon.dmg
152155 body : |
153- ## JSON to CSV Converter
154-
156+ ## FileShift
157+
155158 ### Downloads
156- - **Intel Macs**: `JSON-to-CSV-Converter -intel.dmg`
157- - **Apple Silicon Macs** (M1/M2/M3): `JSON-to-CSV-Converter -apple-silicon.dmg`
158-
159+ - **Intel Macs**: `FileShift -intel.dmg`
160+ - **Apple Silicon Macs** (M1/M2/M3): `FileShift -apple-silicon.dmg`
161+
159162 ### How to check your Mac type
160163 1. Click the Apple menu > About This Mac
161164 2. Look for "Chip" or "Processor"
162165 - Intel processor = Download Intel version
163166 - Apple M1/M2/M3 = Download Apple Silicon version
164-
167+
165168 ### Installation
166169 1. Download the appropriate DMG file
167170 2. Double-click to mount it
168171 3. Drag the app to your Applications folder
169172 4. First time running: Right-click and select "Open" to bypass Gatekeeper
170173 draft : false
171- prerelease : false
174+ prerelease : false
0 commit comments