Skip to content

Commit 2dd9f45

Browse files
authored
Merge pull request #32 from bransoned/28-bug-macos-and-linux-builds-not-able-to-reference-exiftools
#28 Add exiftool installation instructions to README Change the way Linux and MacOS builds are created. Update readme information to reflect this
2 parents 2f941c6 + 4501ba3 commit 2dd9f45

File tree

2 files changed

+26
-28
lines changed

2 files changed

+26
-28
lines changed

.github/workflows/python-package.yml

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ jobs:
1919

2020
# Test on multiple Python versions (Linux)
2121
test:
22-
runs-on: ubuntu-latest
22+
runs-on: ubuntu-22.04
2323
strategy:
2424
fail-fast: false
2525
matrix:
26-
python-version: ["3.9", "3.10", "3.11"]
26+
python-version: ["3.10", "3.11", "3.12"]
2727
steps:
2828
- uses: actions/checkout@v4
2929
- name: Set up Python ${{ matrix.python-version }}
@@ -52,7 +52,7 @@ jobs:
5252
strategy:
5353
fail-fast: false
5454
matrix:
55-
os: [windows-latest, ubuntu-latest, macos-latest]
55+
os: [windows-latest, ubuntu-22.04, macos-latest, macos-15-intel]
5656

5757
runs-on: ${{ matrix.os }}
5858

@@ -71,49 +71,43 @@ jobs:
7171
if: runner.os == 'Linux'
7272
run: |
7373
sudo apt-get update
74-
sudo apt-get install -y ffmpeg exiftool
74+
sudo apt-get install -y ffmpeg
7575
76-
- name: Collect ffmpeg & exiftool (Linux)
76+
- name: Collect ffmpeg (Linux)
7777
if: runner.os == 'Linux'
7878
run: |
7979
mkdir -p bin
8080
FFMPEG_PATH=$(which ffmpeg)
81-
EXIFTOOL_PATH=$(which exiftool)
8281
8382
echo "ffmpeg: $FFMPEG_PATH"
84-
echo "exiftool: $EXIFTOOL_PATH"
8583

8684
cp "$FFMPEG_PATH" bin/ffmpeg
87-
cp "$EXIFTOOL_PATH" bin/exiftool
8885

89-
chmod +x bin/ffmpeg bin/exiftool
86+
chmod +x bin/ffmpeg
9087

9188
- name: Install system deps (macOS)
9289
if: runner.os == 'macOS'
9390
run: |
94-
brew install ffmpeg exiftool
91+
brew install ffmpeg
9592
96-
- name: Collect ffmpeg & exiftool (macOS)
93+
- name: Collect ffmpeg (macOS)
9794
if: runner.os == 'macOS'
9895
shell: bash
9996
run: |
10097
mkdir -p bin
10198
FFMPEG_PATH=$(which ffmpeg)
102-
EXIFTOOL_PATH=$(which exiftool)
103-
99+
104100
echo "ffmpeg: $FFMPEG_PATH"
105-
echo "exiftool: $EXIFTOOL_PATH"
106-
101+
107102
cp "$FFMPEG_PATH" bin/ffmpeg
108-
cp "$EXIFTOOL_PATH" bin/exiftool
109-
110-
chmod +x bin/ffmpeg bin/exiftool
103+
104+
chmod +x bin/ffmpeg
111105
112106
- name: Download ExifTool (Windows)
113107
if: runner.os == 'Windows'
114108
shell: pwsh
115109
run: |
116-
curl -L https://exiftool.org/exiftool-13.43_64.zip -o exiftool.zip
110+
curl -L https://sourceforge.net/projects/exiftool/files/exiftool-13.43_64.zip/download -o exiftool.zip
117111
mkdir bin
118112
Expand-Archive exiftool.zip exiftool_temp -Force
119113
$inner = Get-ChildItem exiftool_temp -Directory | Select-Object -First 1
@@ -160,8 +154,7 @@ jobs:
160154
--add-data bin/exiftool_files;bin/exiftool_files"
161155
else
162156
BIN_ARGS="\
163-
--add-binary bin/ffmpeg:bin \
164-
--add-binary bin/exiftool:bin"
157+
--add-binary bin/ffmpeg:bin"
165158
fi
166159
167160
pyinstaller $COMMON_ARGS $BIN_ARGS script.py
@@ -179,11 +172,12 @@ jobs:
179172
- name: Upload artifact
180173
uses: actions/upload-artifact@v4
181174
with:
182-
name: MemorEasy-${{ runner.os }}
175+
name: MemorEasy-${{ runner.os }}-${{ runner.arch }}
183176
path: dist/*
184177

185178
- name: Upload binaries to GitHub Release
186179
if: startsWith(github.ref, 'refs/tags/')
187180
uses: softprops/action-gh-release@v1
188181
with:
182+
name: MemorEasy-${{ runner.os }}-${{ runner.arch }}
189183
files: dist/*

README.md

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -135,20 +135,24 @@ TODO Add built with images
135135
your first time exporting Memories and/or running this script.
136136
- Lastly, when delivered the zip file from Snapchat with your data, unzip and find the `memories_history.html` file. MemorEasy will parse this file
137137
for all of the information needed to import your Memories.
138-
- TODO Add images or a GIF showing process of selecting data.
138+
- TODO Add images or a GIF showing process of selecting data.
139139
<!--2. Confirm that [Python](https://www.python.org/downloads/) is installed on your system.-->
140140

141141
### Quick Start (Recommended)
142142
... Especially for Windows users
143143

144144
1. Download the pre-built executable for your platform from the latest release
145-
- [Windows](https://github.com/bransoned/MemorEasy/releases/latest/download/MemorEasy.exe)
146-
- [Linux](https://github.com/bransoned/MemorEasy/releases/latest/download/MemorEasy-Linux) (built on ubuntu-latest)
147-
- [macOS](https://github.com/bransoned/MemorEasy/releases/latest/download/MemorEasy-macOS) (untested)
148-
2. Move the downloaded executable/binary to the folder or directory where you want the images to be downloaded
145+
- [Windows](https://github.com/bransoned/MemorEasy/releases/latest/download/MemorEasy-Windows-X64.exe)
146+
- [Linux](https://github.com/bransoned/MemorEasy/releases/latest/download/MemorEasy-Linux-X64)
147+
- [macOS](https://github.com/bransoned/MemorEasy/releases/latest/download/MemorEasy-macOS-ARM64) (ARM)
148+
- [macOS](https://github.com/bransoned/MemorEasy/releases/latest/download/MemorEasy-macOS-X64) (X64)
149+
2. **NOTE:** For MacOS and Linux, you __must__ install the required exiftool dependency:
150+
- MacOS: `brew install exiftool`
151+
- Linux: `apt install exiftool`
152+
3. Move the downloaded executable/binary to the folder or directory where you want the images to be downloaded
149153
- Windows Example: Move `MemorEasy.exe` to `C:\Users\username\Pictures\`
150154
- Linux/macOS Example: Move `MemorEasy-Linux` or `MemorEasy-macOS` to `~/Pictures/`
151-
3. Place the `memories_history.html` file in the same folder or directory as the executable/binary file
155+
4. Place the `memories_history.html` file in the same folder or directory as the executable/binary file
152156

153157
### Installation from Source (Advanced)
154158

0 commit comments

Comments
 (0)