Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
582 commits
Select commit Hold shift + click to select a range
f1f6423
structure refactoring
Xentraxx Jun 15, 2025
f4e86ef
utils.dart removal
Xentraxx Jun 15, 2025
f6fc190
added tests for issues
Xentraxx Jun 15, 2025
b490cce
test fixes
Xentraxx Jun 15, 2025
90e3032
updated note
Xentraxx Jun 15, 2025
a3131cb
added issue template
Xentraxx Jun 16, 2025
a7d6f3b
fixed issue template
Xentraxx Jun 16, 2025
dd3581d
nothing mode fix (making sure no pictures from albums are lost in not…
Xentraxx Jun 16, 2025
14efa44
fixed test expectations
Xentraxx Jun 16, 2025
1db6355
added .aicontext
Xentraxx Jun 16, 2025
b3d8721
extended context
Xentraxx Jun 16, 2025
64bf5f8
refactoring
Xentraxx Jun 16, 2025
350e53f
fixed tests
Xentraxx Jun 16, 2025
15857a2
removal of copy mode references
Xentraxx Jun 16, 2025
dfd9e20
removal of deprecated stuff
Xentraxx Jun 16, 2025
0be4659
Legacy code removal and cleanup
Xentraxx Jun 16, 2025
ad7edbb
refactoring
Xentraxx Jun 16, 2025
caea239
removal of deprecated service
Xentraxx Jun 16, 2025
8498914
performance improvgements
Xentraxx Jun 16, 2025
b7b6cc2
race condition fix
Xentraxx Jun 16, 2025
ba7b005
fixed bugs and failing e2e tests
Xentraxx Jun 16, 2025
e6009d8
added exif validation
Xentraxx Jun 16, 2025
1c7ee8a
fixed failing tests
Xentraxx Jun 16, 2025
b28aab4
formatting
Xentraxx Jun 16, 2025
d514ebf
fixed file synchronization race conditions
Xentraxx Jun 16, 2025
a5ae5ab
making lint happy
Xentraxx Jun 16, 2025
0812c24
Fixed Issue #39
Xentraxx Jun 17, 2025
40f431a
lint fix
Xentraxx Jun 17, 2025
bd6659a
fixed changelog
Xentraxx Jun 18, 2025
a786355
Update CHANGELOG.md
Xentraxx Jun 18, 2025
f129259
Update README.md
Xentraxx Jun 18, 2025
908beb0
Update README.md
Xentraxx Jun 18, 2025
ddb65aa
removed unnecessary wrapper file
Xentraxx Jun 20, 2025
026fe70
unified logging service
Xentraxx Jun 20, 2025
e76e2f6
Fix Issue #45
Xentraxx Jun 20, 2025
6bc490e
fix issue #47
Xentraxx Jun 20, 2025
7e418b5
issue #46 fix and extended logging
Xentraxx Jun 21, 2025
ef82c72
Issue #44 Step 5 30% improvement
Xentraxx Jun 21, 2025
5899fd8
Improved write-exif performance when fixing extensions
Xentraxx Jun 21, 2025
43cfd28
Revert "Improved write-exif performance when fixing extensions"
Xentraxx Jun 21, 2025
9a664a2
moved method only used in tests to test file
Xentraxx Jun 21, 2025
c1f7d9a
fix for scenario where exiftool is not installed
Xentraxx Jun 21, 2025
c62280f
added panasonic raw support
Xentraxx Jun 25, 2025
4fa79ef
fix for issue #50
Xentraxx Jun 26, 2025
a0d68d2
Fix Issue #50
Xentraxx Jun 26, 2025
5e7fa8f
fixed symlink detection in tests
Xentraxx Jun 28, 2025
a0fe9d5
changed readme
Xentraxx Jul 7, 2025
908bf04
added scripts to generate changelog again
Xentraxx Jul 7, 2025
c226755
bumped version
Xentraxx Jul 7, 2025
0c38b1a
Fix for issue #62
Xentraxx Jul 22, 2025
b26660f
fix issue #61
Xentraxx Jul 22, 2025
8273091
changed to atomic file rename to fix issue #60
Xentraxx Jul 25, 2025
37b4541
Used streaming in unzipping to avoid memory exhaustion
Xentraxx Jul 25, 2025
51e01b6
Update CHANGELOG.md
Xentraxx Jul 25, 2025
0d0c272
implemented core logic for feature request #56
Xentraxx Jul 25, 2025
7261d56
date extraction from aprent folder strategy added (feature #28 )
Xentraxx Jul 25, 2025
f6d6337
concurrency tuning
Xentraxx Jul 25, 2025
8ccf9ca
Divide by date only for ALL_Photos, hash concurrency reduction and re…
Xentraxx Jul 26, 2025
1fe94cc
added -divide-partner-shared flag
Xentraxx Jul 26, 2025
563a6aa
test cleanup fixes
Xentraxx Jul 26, 2025
2bc5596
fixed linting issues
Xentraxx Jul 26, 2025
d697b1f
changed more exif reads to native library for performance improvement
Xentraxx Jul 26, 2025
0405cf8
removed unused package
Xentraxx Jul 26, 2025
f59cb4f
small display fixes
Xentraxx Jul 26, 2025
f6de53b
made some output verbose.
Xentraxx Jul 26, 2025
20b5990
changed step 8 to progress bar and supressed false error
Xentraxx Jul 26, 2025
b1d467b
displaying exiftool version now
Xentraxx Jul 26, 2025
c4866fb
fix for invalid datetime object when file does not have any creationdate
Xentraxx Jul 26, 2025
d1b598c
linting fix
Xentraxx Jul 26, 2025
df19ea3
small print change
Xentraxx Jul 26, 2025
a776525
added skipping output when skipping step 8
Xentraxx Jul 27, 2025
93d59a0
removed hint on copy mode
Xentraxx Jul 27, 2025
fff5543
version bump
Xentraxx Jul 27, 2025
6c4febe
change of exif dateTime extraction methods. NEEDS TO BE TESTED!!!!
Xentraxx Jul 27, 2025
620774b
updated changelog
Xentraxx Jul 31, 2025
724ac1e
fixed limit filesize interactive mode (issue #58)
Xentraxx Aug 2, 2025
3ef5798
added secret scanning with truffle hog
Xentraxx Aug 8, 2025
c1de011
trufflehog fix
Xentraxx Aug 8, 2025
c9f6498
trufflehog fix
Xentraxx Aug 8, 2025
e30f549
clarification #68
Xentraxx Aug 14, 2025
dfe8f15
better error handling and non-interactive unzipping #68
Xentraxx Aug 14, 2025
bbe5a9b
fix crash
Xentraxx Aug 14, 2025
7b1c2ee
added exposed concurrency multiplier aguments for testing.
Xentraxx Aug 15, 2025
f95001b
linting fixes
Xentraxx Aug 15, 2025
fee1763
Fixed type on partner shared functionality #69
Xentraxx Aug 15, 2025
ead2451
Update CHANGELOG.md
Xentraxx Aug 15, 2025
4ab1a33
reworked date extraction, concurrently multipliers and logging
Xentraxx Aug 15, 2025
843c287
utc fix and removed 'FileModifyDate' due to inaccuracy
Xentraxx Aug 15, 2025
a222b2d
utc fix
Xentraxx Aug 15, 2025
161c82b
Changelog update and native datetime removal of unnecessary tag
Xentraxx Aug 15, 2025
396f939
concurrency manager cleanup and tweaking
Xentraxx Aug 16, 2025
7182146
Update performance_benchmark_test.dart
Xentraxx Aug 16, 2025
a2f24d8
refactored concurrency management
Xentraxx Aug 16, 2025
2831dd7
test flags fix
Xentraxx Aug 16, 2025
647761e
only reading 512 header bytes instead of full file
Xentraxx Aug 17, 2025
981a06f
should not cause #64 just cleanup
Xentraxx Aug 17, 2025
71c2173
added date extraction parallelization and fixed double print #64
Xentraxx Aug 17, 2025
ca9cbee
making thread messages consistent #64
Xentraxx Aug 17, 2025
77de507
removed some debug logging during album detection #64
Xentraxx Aug 17, 2025
e8868c6
improved concurrency logging #64
Xentraxx Aug 17, 2025
d10b684
changed some logging levels
Xentraxx Aug 17, 2025
2a9b63c
clamped io concurrency to 8 and adjusted default multiplier to 2 like…
Xentraxx Aug 17, 2025
f221b17
native exif extractor only reads first 64kb of each file #64
Xentraxx Aug 17, 2025
b4eb25b
added exiftool -fast flag #64
Xentraxx Aug 17, 2025
b566872
made movemedia parallel
Xentraxx Aug 17, 2025
af5e8ab
removed sequencial overhead and added failsafe for path resolving for…
Xentraxx Aug 17, 2025
c2ea357
test to fix unix bug
Xentraxx Aug 17, 2025
b0e3d09
removed fragile test
Xentraxx Aug 17, 2025
ab5831b
fix test causing tests to termine
Xentraxx Aug 17, 2025
c874c78
fix UTC timezone mismatch in json extraction
Xentraxx Aug 17, 2025
49d1219
fix test expectation
Xentraxx Aug 17, 2025
a63d91f
small bug fix for testing
Xentraxx Aug 17, 2025
687b371
adjusted test timeouts
Xentraxx Aug 17, 2025
49003b0
fixed windows specific test
Xentraxx Aug 17, 2025
7fe71df
fixed failing tests
Xentraxx Aug 17, 2025
8145273
lint fix
Xentraxx Aug 17, 2025
d26adb8
added test setup fallback
Xentraxx Aug 17, 2025
f747487
fix test failure
Xentraxx Aug 17, 2025
f6f01cf
improved test reason messages
Xentraxx Aug 17, 2025
9162c80
lint fix
Xentraxx Aug 17, 2025
abb6e89
made some tests win only
Xentraxx Aug 17, 2025
6c0f6f1
Revert "made some tests win only"
Xentraxx Aug 17, 2025
c59621b
added unix move fallback
Xentraxx Aug 17, 2025
a22ea62
Revert "added unix move fallback"
Xentraxx Aug 17, 2025
80790f3
4.2.1 by Jaime Tur
jaimetur Aug 18, 2025
7e2e3e9
4.2.1 by Jaime Tur
jaimetur Aug 18, 2025
db700b5
4.2.1 by Jaime Tur
jaimetur Aug 18, 2025
818ec05
4.2.1 by Jaime Tur
jaimetur Aug 18, 2025
1f912b4
4.2.1 by Jaime Tur
jaimetur Aug 18, 2025
1f7e108
4.2.1 by Jaime Tur
jaimetur Aug 18, 2025
7d8f37d
4.2.1 by Jaime Tur
jaimetur Aug 18, 2025
d75c06e
4.2.1 by Jaime Tur
jaimetur Aug 18, 2025
0c9007f
4.2.1 by Jaime Tur
jaimetur Aug 18, 2025
4928a46
Actualizar exiftool_service.dart
jaimetur Aug 18, 2025
3064be2
Actualizar service_container.dart
jaimetur Aug 18, 2025
401e147
4.2.1 by Jaime Tur
jaimetur Aug 18, 2025
e861446
Merge remote-tracking branch 'origin/v4.2.2-development' into v4.2.2-…
jaimetur Aug 18, 2025
121768b
4.2.2 by Jaime Tur
jaimetur Aug 18, 2025
b196930
4.2.3 by Jaime Tur
jaimetur Aug 18, 2025
0b75f9a
4.2.3 by Jaime Tur
jaimetur Aug 18, 2025
4c1176f
4.2.3 by Jaime Tur
jaimetur Aug 18, 2025
493857c
4.2.3 by Jaime Tur
jaimetur Aug 18, 2025
6ecc19d
4.2.3 by Jaime Tur
jaimetur Aug 18, 2025
5b0953d
4.2.3 by Jaime Tur
jaimetur Aug 18, 2025
1323e32
4.2.3 by Jaime Tur
jaimetur Aug 19, 2025
60e0d2e
4.2.3 by Jaime Tur
jaimetur Aug 19, 2025
f95566f
4.2.3 by Jaime Tur
jaimetur Aug 19, 2025
8ae037f
4.2.3 by Jaime Tur
jaimetur Aug 19, 2025
aa19c41
4.2.3 by Jaime Tur
jaimetur Aug 19, 2025
1619131
4.2.3 by Jaime Tur
jaimetur Aug 19, 2025
47d0c98
4.2.3 by Jaime Tur
jaimetur Aug 19, 2025
1449f55
4.2.3 by Jaime Tur
jaimetur Aug 19, 2025
9fd385c
4.2.3 by Jaime Tur
jaimetur Aug 19, 2025
abe21ca
4.2.3 by Jaime Tur
jaimetur Aug 19, 2025
5fb356c
4.2.3 by Jaime Tur
jaimetur Aug 19, 2025
49e0465
4.2.3 by Jaime Tur
jaimetur Aug 19, 2025
38dc3b8
4.2.3 by Jaime Tur
jaimetur Aug 19, 2025
9c6ed47
4.2.3 by Jaime Tur
jaimetur Aug 19, 2025
de5dfce
4.2.3 by Jaime Tur
jaimetur Aug 19, 2025
c1361d8
4.2.3 by Jaime Tur
jaimetur Aug 19, 2025
49ed0c1
4.2.3 by Jaime Tur
jaimetur Aug 19, 2025
aee62f8
4.2.3 by Jaime Tur
jaimetur Aug 19, 2025
bab6788
4.2.3 by Jaime Tur
jaimetur Aug 19, 2025
813092b
Jaime's commit
jaimetur Aug 19, 2025
aa8e6ad
Jaime's commit
jaimetur Aug 19, 2025
9044c77
Improve Performance Step 6 (Find Albums)
jaimetur Aug 19, 2025
ed7ed93
Improve Performance Step 6 (Find Albums)
jaimetur Aug 20, 2025
f9d9599
Step 4 (Extract Dates) Optimization
jaimetur Aug 20, 2025
3005489
Step 4 (Extract Dates) Optimization
jaimetur Aug 20, 2025
2420234
Step 4 (Extract Dates) Optimization, Step 5 (Write EXIF) Optimization…
jaimetur Aug 20, 2025
25978fd
Jaime's commit
jaimetur Aug 20, 2025
7cab32f
Jaime's commit
jaimetur Aug 20, 2025
aba49fc
Jaime's commit
jaimetur Aug 20, 2025
ba36770
Jaime's commit
jaimetur Aug 20, 2025
5834a22
Jaime's commit
jaimetur Aug 21, 2025
3a43eb6
Jaime's commit
jaimetur Aug 21, 2025
4e9d5ac
Jaime's commit
jaimetur Aug 21, 2025
d6b9fed
Jaime's commit
jaimetur Aug 21, 2025
a886ff7
Jaime's commit
jaimetur Aug 21, 2025
d9c8cef
Jaime's commit
jaimetur Aug 21, 2025
4647347
Jaime's commit
jaimetur Aug 21, 2025
43e8d4c
Jaime's commit
jaimetur Aug 22, 2025
1e12eec
Jaime's commit
jaimetur Aug 22, 2025
40c7abd
Jaime's commit
jaimetur Aug 22, 2025
ec69148
Jaime's commit
jaimetur Aug 22, 2025
837884e
Jaime's commit
jaimetur Aug 22, 2025
0ff2861
Jaime's commit
jaimetur Aug 22, 2025
923c1c6
Jaime's commit
jaimetur Aug 22, 2025
ed47076
Merge pull request #1 from jaimetur/v4.3.0-development
jaimetur Aug 22, 2025
74ae0ce
Jaime's commit
jaimetur Aug 22, 2025
56a1fe3
Merge pull request #2 from jaimetur/v4.3.0-development
jaimetur Aug 22, 2025
4c53a9b
Jaime's commit
jaimetur Aug 23, 2025
6ccfbae
Merge pull request #3 from jaimetur/v4.3.0-development
jaimetur Aug 23, 2025
5cd692f
Jaime's commit
jaimetur Aug 23, 2025
680b9a7
Merge pull request #4 from jaimetur/v4.3.0-development
jaimetur Aug 23, 2025
46f92e7
Show dictMiss files in log
jaimetur Aug 24, 2025
3586a8c
Fix missing JSON match when the length of the original JSON filename …
jaimetur Aug 24, 2025
6676fc1
Fix Progress bar on Step 7: Move files. Now counts the number of real…
jaimetur Aug 24, 2025
001553b
Updated CHANGELOG.md and README.md
jaimetur Aug 24, 2025
f891bf7
Merge pull request #5 from jaimetur/v4.3.0-development
jaimetur Aug 24, 2025
718a6e9
Updated README.md
jaimetur Aug 24, 2025
565659f
Merge pull request #6 from jaimetur/v4.3.0-development
jaimetur Aug 24, 2025
894eb75
Updated README.md
jaimetur Aug 24, 2025
9bb869a
Fix write EXIF to files with no EXIF info.
jaimetur Aug 24, 2025
1171e4f
Added log messages when GPS coordinates is written to EXIF
jaimetur Aug 24, 2025
1d40e08
Fix write EXIF to files with no EXIF info.
jaimetur Aug 24, 2025
bd70de7
Fix write EXIF to files with no EXIF info.
jaimetur Aug 24, 2025
d17f0ed
Added log messages when GPS coordinates is written to EXIF
jaimetur Aug 24, 2025
f2eb26f
Merge remote-tracking branch 'origin/v4.3.0-development' into v4.3.0-…
jaimetur Aug 24, 2025
325f49d
Fix write EXIF when file does not contains EXIF info.
jaimetur Aug 24, 2025
54b0e89
Added log messages when GPS coordinates is written to EXIF (with forc…
jaimetur Aug 24, 2025
8112a70
Fix write EXIF when file does not contains EXIF info.
jaimetur Aug 24, 2025
c990eaf
Fix write EXIF when file does not contains EXIF info.
jaimetur Aug 24, 2025
4720186
Fix write EXIF when file does not contains EXIF info.
jaimetur Aug 25, 2025
9e1fade
Revert "Fix write EXIF when file does not contains EXIF info."
jaimetur Aug 25, 2025
9f1f1a3
Fix write EXIF when file does not contains EXIF info.
jaimetur Aug 25, 2025
016f53e
Fix write EXIF when file does not contains EXIF info.
jaimetur Aug 25, 2025
a6d4d5d
Added batch processing during exiftool exif writting
jaimetur Aug 25, 2025
095e9de
Support to write EXIF data with native writer for supported files onl…
jaimetur Aug 25, 2025
9bec532
Support to write EXIF data with native writer for supported files onl…
jaimetur Aug 25, 2025
9abccbe
Separated queues for images/videos in Exiftool Writer and per file re…
jaimetur Aug 25, 2025
9e0721c
Step 7: Move Files now separates the physical files moved from create…
jaimetur Aug 25, 2025
790d33c
Step 7: Move Files now separates the physical files moved from create…
jaimetur Aug 25, 2025
b848c46
Step 7: Move Files now separates the physical files moved from create…
jaimetur Aug 25, 2025
96c0fd8
Step 7: Move Files now separates the physical files moved from create…
jaimetur Aug 25, 2025
33fa2f2
Step 7: Move Files now separates the physical files moved from create…
jaimetur Aug 25, 2025
acaa155
Add parameter exiftoolBatching to enable/disable batching on exiftool…
jaimetur Aug 25, 2025
52504ea
Step 7: Move Files now separates the physical files moved from create…
jaimetur Aug 25, 2025
16b9a0e
Step 7: Move Files now separates the physical files moved from create…
jaimetur Aug 25, 2025
fb5ab7a
Back to original move_files bar (from version 4.1.1)
jaimetur Aug 25, 2025
7e02c89
Back to original move_files bar (from version 4.0.9)
jaimetur Aug 25, 2025
0698ae5
Back to original move_files bar (from version 4.0.9)
jaimetur Aug 25, 2025
e7a5932
Back to original move_files bar (from version 4.0.9)
jaimetur Aug 25, 2025
242ec03
Change Album's folder to `Albums`. Improved log/print messages. Added…
jaimetur Aug 25, 2025
c7ac2e5
Updated archive_extraction_service to support UTF-8 filenames on Zip …
jaimetur Aug 25, 2025
c30bd1a
Remove DEBUG trace
jaimetur Aug 25, 2025
0ee606b
Merge branch 'v4.3.0-development-jaime'
jaimetur Aug 25, 2025
3d0b3d8
Remove DEBUG traces
jaimetur Aug 26, 2025
d5e2474
Merge branch 'master' into v4.3.0-development-jaime
jaimetur Aug 26, 2025
307d616
Fixed: Duplicated entities now are moved from input folder to `_Dupli…
jaimetur Aug 26, 2025
a69437c
Fixed: Duplicated entities now are moved from input folder to `_Dupli…
jaimetur Aug 26, 2025
950b471
Merge remote-tracking branch 'origin/v4.3.0-development-jaime' into v…
jaimetur Aug 26, 2025
e49429d
Fixed: Duplicates files are now removed even if they belong to differ…
jaimetur Aug 26, 2025
3b54f73
Added some comments to the media_entity_collection code for clarifica…
jaimetur Aug 26, 2025
fe7e90f
Added some comments to the media_entity_collection code for clarifica…
jaimetur Aug 26, 2025
6d344bb
linting fixes
Xentraxx Aug 27, 2025
e81c8fe
Merge pull request #74 from jaimetur/v4.3.0-development
Xentraxx Aug 27, 2025
812e1a2
Version fix
Xentraxx Aug 27, 2025
f18b8c0
readme update for 5.0.5 prerelease
Xentraxx Sep 22, 2025
7ed8acc
Fix typo in README regarding v5.0.5 features
Xentraxx Sep 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
471 changes: 471 additions & 0 deletions .aicontext.md

Large diffs are not rendered by default.

63 changes: 63 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Bug Report
description: Report a bug or problem with the project. All fields are required.
title: "[Bug] <short description of the problem>"
labels: [bug]
assignees: [Xentraxx]

body:
- type: markdown
attributes:
value: |
⚠️ **Please fill out *all* fields below. Incomplete issues will be closed.**

- type: input
id: gpht-version
attributes:
label: What version of GPTH are you using?
placeholder: e.g. v4.0.8
validations:
required: true

- type: input
id: flag-combo
attributes:
label: What flag combination did you use?
placeholder: e.g. --fix-extensions=standard --transform-pixel-mp
validations:
required: true

- type: dropdown
id: exiftool-installed
attributes:
label: Is Exiftool installed?
options:
- "Yes"
- "No"
validations:
required: true

- type: textarea
id: current-output
attributes:
label: What is the current output/result?
description: Include any logs or error messages (use verbose mode if applicable).
placeholder: Paste output or logs here...
validations:
required: true

- type: textarea
id: expected-output
attributes:
label: What is the expected output/result?
placeholder: Describe what you expected to happen.
validations:
required: true

- type: textarea
id: more-info
attributes:
label: Further information on the issue
description: Add any other relevant context or screenshots.
placeholder: Any other details that could help reproduce the issue.
validations:
required: true
88 changes: 66 additions & 22 deletions .github/workflows/build-nightly.yml
Original file line number Diff line number Diff line change
@@ -1,39 +1,83 @@
# This is quick action to build apk and share it with artifacts
# This is quick action to build exe and share it with artifacts
# It's for convenience and nightly-testing with people
name: Build nightly

on:
workflow_dispatch:
push:
branches:
- prerelease

jobs:
build:
strategy:
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
runs-on: ${{ matrix.os }}
include:
# macOS
- os: macos-13
arch: x86_64
runs-on: macos-13
- os: macos-latest
arch: arm64
runs-on: macos-latest
# Linux
- os: ubuntu-22.04
arch: x86_64
runs-on: ubuntu-22.04
- os: ubuntu-24.04-arm
arch: arm64
runs-on: ubuntu-24.04-arm
# Windows
- os: windows-latest
arch: x86_64
runs-on: windows-latest
- os: windows-11-arm
arch: arm64
runs-on: windows-11-arm
runs-on: ${{ matrix.runs-on }}
steps:
- uses: actions/checkout@v3
- name: Get exe name
id: exe_name
- uses: actions/[email protected]
- uses: dart-lang/[email protected]
- run: dart pub get
- name: Get version
id: version
shell: bash
run: |
if [ "$RUNNER_OS" == "Linux" ]; then
echo "name=gpth-linux" >> $GITHUB_OUTPUT
elif [ "$RUNNER_OS" == "Windows" ]; then
echo "name=gpth-windoza.exe" >> $GITHUB_OUTPUT
elif [ "$RUNNER_OS" == "macOS" ]; then
echo "name=gpth-macos" >> $GITHUB_OUTPUT
if [[ "$RUNNER_OS" == "Windows" ]]; then
VERSION=$(powershell -Command "(Get-Content pubspec.yaml | Select-String '^version:').ToString().Split(':')[1].Trim()")
else
echo "Unknown OS: $RUNNER_OS"
exit 69
VERSION=$(grep '^version:' pubspec.yaml | head -n1 | cut -d' ' -f2)
fi
- uses: dart-lang/setup-dart@v1
- run: dart pub get
echo "version=$VERSION" >> $GITHUB_OUTPUT
- name: Build exe
run: dart compile exe bin/gpth.dart -o ./${{ steps.exe_name.outputs.name }}
- name: Upload apk as artifact
uses: actions/upload-artifact@v3
id: build_exe
shell: bash
run: |
version=${{ steps.version.outputs.version }}
osname=${{ matrix.os }}
# Normalize osname and append arch for output file
if [[ "$osname" == "ubuntu-22.04" ]]; then
osname=linux-x86_64
elif [[ "$osname" == "ubuntu-24.04-arm" ]]; then
osname=linux-arm64
elif [[ "$osname" == "macos-latest" ]]; then
osname=macos-arm64
elif [[ "$osname" == "macos-13" ]]; then
osname=macos-x86_64
elif [[ "$osname" == "windows-latest" ]]; then
osname=windows-x86_64
elif [[ "$osname" == "windows-11-arm" ]]; then
osname=windows-arm64
fi
outname=gpth-v$version-nightly-$osname
if [[ "$osname" == windows-* ]]; then
outname="$outname.exe"
fi
echo "outname=$outname" >> $GITHUB_OUTPUT
dart compile exe bin/gpth.dart -o ./$outname
- name: Upload exe as artifact
uses: actions/[email protected]
with:
name: gpth-nightly-${{ runner.os }}
path: ./${{ steps.exe_name.outputs.name }}
if-no-files-found: error
name: ${{ steps.version.outputs.version }}-${{ steps.build_exe.outputs.outname }}
path: ./${{ steps.build_exe.outputs.outname }}
if-no-files-found: error
56 changes: 44 additions & 12 deletions .github/workflows/dart-test.yaml
Original file line number Diff line number Diff line change
@@ -1,26 +1,58 @@
# Main Dart tests and checks
name: Dart tests
name: Dart test

on:
workflow_dispatch:
push:
branches: [ master ]
branches: [main, prerelease]
pull_request:
branches: [ master ]

branches: [main, prerelease]
jobs:
tests:
runs-on: ubuntu-latest
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
sdk: [3.8]

steps:
- uses: actions/checkout@v3
- uses: dart-lang/setup-dart@v1
- run: dart pub get
- run: dart test
- uses: actions/[email protected]
- uses: dart-lang/[email protected]
with:
sdk: ${{ matrix.sdk }}
- name: Install exiftool (Linux)
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y exiftool

- name: Install exiftool (macOS)
if: runner.os == 'macOS'
run: brew install exiftool

- name: Install exiftool (Windows)
if: runner.os == 'Windows'
run: choco install exiftool -y

- name: Install dependencies
run: dart pub get
- name: Run tests
run: dart test
formatting-and-analysis:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dart-lang/setup-dart@v1
- uses: actions/checkout@v4.2.2
- uses: dart-lang/setup-dart@v1.7.1
- run: dart pub get
- name: Verify formatting
run: dart format --output=none --set-exit-if-changed .
- run: dart analyze --fatal-infos
secret-scan:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Secret Scanning
uses: trufflesecurity/trufflehog@main
with:
extra_args: --results=verified,unknown
Loading