Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
225 commits
Select commit Hold shift + click to select a range
604206a
Added ImagesHaveEqualSize(string pathImageActual, string pathImageExp…
stesee May 11, 2022
ce17a31
Bump SixLabors.ImageSharp from 2.1.1 to 2.1.2
stesee May 27, 2022
a052089
Bump SixLabors.ImageSharp from 2.1.2 to 2.1.3
stesee Jun 24, 2022
53f51cc
moved more things
stesee Dec 10, 2022
a8ed8d4
Bump actions/stale from 6 to 7
dependabot[bot] Dec 26, 2022
056d77d
Merge pull request #45 from Codeuctivity/dependabot/github_actions/ac…
stesee Dec 27, 2022
1293b00
Bump actions/stale from 6 to 7
dependabot[bot] Jan 26, 2023
d8203ba
Bump SkiaSharp from 2.88.2 to 2.88.3
dependabot[bot] Jan 26, 2023
34deea0
some tweaking
stesee Jan 26, 2023
2005412
Update SkiaSharpCompareTestNunit.csproj
stesee Jan 26, 2023
047feed
Merge pull request #2 from Codeuctivity/dependabot/github_actions/act…
stesee Jan 26, 2023
2a563b9
fixed messed up namespace
stesee Jan 26, 2023
7c40550
Merge branch 'dependabot/nuget/SkiaSharp-2.88.3' of https://github.co…
stesee Jan 26, 2023
acbeeea
Bump SkiaSharp from 2.88.2 to 2.88.3
stesee Jan 26, 2023
1b3686e
Bump cla-assistant/github-action from 2.2.1 to 2.3.0
dependabot[bot] Feb 13, 2023
b0e1d5f
Bump cla-assistant/github-action from 2.2.1 to 2.3.0
dependabot[bot] Feb 13, 2023
b61dd1a
Merge pull request #46 from Codeuctivity/dependabot/github_actions/cl…
stesee Feb 13, 2023
1e0e31b
update to ImageSharp 3.0
SimonCropp Mar 1, 2023
f9cecd6
Update ImageSharpCompare.csproj
SimonCropp Mar 1, 2023
7d7b0c5
Update dotnet.yml
stesee Mar 4, 2023
54fed93
Bump SixLabors.ImageSharp from 2.1.3 to 3.0.0
stesee Mar 4, 2023
30a3070
Merge pull request #6 from Codeuctivity/dependabot/github_actions/cla…
stesee Mar 4, 2023
32aba51
Added sample output to readme
stesee Mar 21, 2023
9144afd
Added example diff output to readme
stesee Mar 21, 2023
3add1de
Image resize feature overload added
stesee Mar 23, 2023
aa89542
Update README.md
stesee Mar 23, 2023
79bc6e1
README changed
stesee Mar 23, 2023
8422767
Implemented an enhancement by adding overloads to methods, enabling t…
stesee Mar 23, 2023
9926f9d
Added support for multiple release versions to be built by github act…
stesee Mar 23, 2023
0bef844
Implemented an enhancement by adding overloads to methods, enabling t…
stesee Mar 23, 2023
b721746
Merge branch 'main' into releaseImageSharp2.1.3
stesee Mar 23, 2023
1875f10
Merge pull request #54 from Codeuctivity/releaseImageSharp2.1.3
stesee Mar 23, 2023
1fe2867
Bump actions/stale from 7 to 8
dependabot[bot] Mar 27, 2023
c78fa4c
Bump actions/stale from 7 to 8
dependabot[bot] Mar 27, 2023
0812518
Merge pull request #57 from Codeuctivity/dependabot/github_actions/ac…
stesee Mar 27, 2023
573ee7d
Bump SixLabors.ImageSharp from 3.0.0 to 3.0.1
dependabot[bot] Mar 28, 2023
bae9733
Bump SixLabors.ImageSharp from 3.0.0 to 3.0.1
stesee Mar 29, 2023
a04e9c8
Bugfix CalcDiff - resizing optional mask on using ResizeOption.Resize
stesee Apr 9, 2023
c7f816f
Bugfix CalcDiff - resizing optional mask on using ResizeOption.Resize…
stesee Apr 9, 2023
4d6d6f5
Merge pull request #7 from Codeuctivity/dependabot/github_actions/act…
stesee Apr 22, 2023
4332445
Merge
stesee May 16, 2023
d75ea2b
Merge pull request #9 from Codeuctivity/ImageSharp.Compare-UpstreamMerge
stesee May 16, 2023
787b633
Fixed CalcDiffMaskImage
stesee Jul 13, 2023
c50d85b
Merge pull request #64 from Codeuctivity/CalcDiffMaskImageDifferentIm…
stesee Jul 13, 2023
479e90b
Merge remote-tracking branch 'ImageSharpCompare.Upstream/main' into U…
stesee Jul 15, 2023
65dfbb1
Resolved upstream merge issues
stesee Jul 15, 2023
870e9b8
Merge pull request #12 from Codeuctivity/Upstream
stesee Jul 15, 2023
ecb04bd
Fixed typos
stesee Jul 24, 2023
5355299
Dispose of resized mask image when calculating diffs
MJB222398 Jul 28, 2023
028cad5
Merge pull request #70 from MJB222398/dispose-resized-mask-image
stesee Jul 28, 2023
76bfa71
Typos, enabled analyzers, fixed warnings
stesee Jul 29, 2023
693f123
Merge pull request #71 from Codeuctivity/EnabledNetAnalyzers
stesee Jul 29, 2023
b8e9963
Allow mask image to be supplied when calculating diff mask of two ima…
MJB222398 Aug 12, 2023
1ba4f13
Handle management of mask stream and file deletion in integration test
MJB222398 Aug 12, 2023
460c8d2
Add tests for all new overloads of CalcDiffMaskImage (#66)
MJB222398 Aug 15, 2023
99edb8e
Merge pull request #73 from MJB222398/allow-mask-when-calculating-dif…
stesee Aug 16, 2023
a5cb1be
Merge branch 'main' of https://github.com/Codeuctivity/ImageSharp.Com…
stesee Aug 26, 2023
7b7153f
Ported upstream imagesharp based feature
stesee Aug 26, 2023
7835227
Merge branch 'Codeuctivity-main' into TyposAndAnalyzer
stesee Aug 26, 2023
185f60f
Bumped SkiaSharp 2.88.3 -> 2.88.5
stesee Aug 26, 2023
6b2e201
Merge pull request #19 from Codeuctivity/TyposAndAnalyzer
stesee Aug 26, 2023
6b91fbb
Bump actions/checkout from 3 to 4
dependabot[bot] Sep 11, 2023
c795913
Bump cla-assistant/github-action from 2.3.0 to 2.3.1
dependabot[bot] Sep 18, 2023
7f4f59c
Bump SkiaSharp from 2.88.5 to 2.88.6 in /SkiaSharpCompare
dependabot[bot] Sep 21, 2023
4fbc58a
Merge pull request #21 from Codeuctivity/dependabot/github_actions/ac…
stesee Sep 24, 2023
b5410dd
Merge pull request #22 from Codeuctivity/dependabot/github_actions/cl…
stesee Sep 24, 2023
e525b8c
Merge pull request #23 from Codeuctivity/dependabot/nuget/SkiaSharpCo…
stesee Sep 24, 2023
b2fef6c
Bump SkiaSharp.NativeAssets.Linux.NoDependencies from 2.88.5 to 2.88.6
dependabot[bot] Sep 24, 2023
8010be9
Merge pull request #25 from Codeuctivity/dependabot/nuget/SkiaSharp.N…
stesee Sep 24, 2023
a3ac012
NugetReadMe update
stesee Sep 24, 2023
86b415c
minor changes
stesee Sep 24, 2023
f4ed1d4
Minor change
stesee Sep 24, 2023
974074a
Merge pull request #26 from Codeuctivity/NugetReadmeUpdate
stesee Sep 24, 2023
e7fce56
Enabled .net 8 test
stesee Nov 14, 2023
2a97d45
Update dotnet.yml
stesee Nov 14, 2023
8bf6228
Update SkiaSharpCompare.csproj
stesee Nov 14, 2023
28453cb
Added .net8 test target
stesee Nov 14, 2023
7ab0c06
Migrated to .NET8, dropped older targets
stesee Nov 17, 2023
2e7cc9c
Bump actions/stale from 8 to 9
dependabot[bot] Dec 11, 2023
dbf83dc
Bump actions/setup-dotnet from 3 to 4
dependabot[bot] Dec 11, 2023
8ee59dd
Bump SkiaSharp from 2.88.6 to 2.88.7
dependabot[bot] Jan 12, 2024
6f4d395
Merge pull request #33 from Codeuctivity/dependabot/nuget/SkiaSharp-2…
stesee Jan 23, 2024
f945c1c
Merge pull request #32 from Codeuctivity/dependabot/github_actions/ac…
stesee Jan 23, 2024
0ae8c77
Merge pull request #31 from Codeuctivity/dependabot/github_actions/ac…
stesee Jan 23, 2024
f1167a4
Added optional parameter pixelColorShiftTolerance
stesee Jan 27, 2024
ab1af44
Added optional parameter pixelColorShiftTolerance
stesee Jan 27, 2024
51795d8
Bump SkiaSharp.NativeAssets.Linux.NoDependencies from 2.88.6 to 2.88.7
stesee Jan 27, 2024
03690cb
Bump SkiaSharp.NativeAssets.Linux.NoDependencies from 2.88.6 to 2.88.7
stesee Jan 27, 2024
96542a7
Bump cla-assistant/github-action from 2.3.1 to 2.3.2
dependabot[bot] Mar 25, 2024
958f62b
Bump SkiaSharp from 2.88.7 to 2.88.8
dependabot[bot] Apr 11, 2024
28f3a8e
Merge pull request #40 from Codeuctivity/dependabot/github_actions/cl…
stesee Apr 22, 2024
bbe4e2b
Update SkiaSharpCompare.csproj
stesee Apr 22, 2024
04756d5
Merge pull request #41 from Codeuctivity/dependabot/nuget/SkiaSharp-2…
stesee Apr 22, 2024
08741d8
Bump cla-assistant/github-action from 2.3.2 to 2.4.0
dependabot[bot] May 13, 2024
a74d027
Merge pull request #46 from Codeuctivity/dependabot/github_actions/cl…
stesee Jun 7, 2024
fc52464
Bump cla-assistant/github-action from 2.4.0 to 2.5.1
dependabot[bot] Aug 19, 2024
8e22f95
Merge pull request #47 from Codeuctivity/dependabot/github_actions/cl…
stesee Aug 25, 2024
33748c5
Bump cla-assistant/github-action from 2.5.1 to 2.6.1
dependabot[bot] Sep 30, 2024
e07b386
Bump SkiaSharp and SkiaSharp.NativeAssets.Linux.NoDependencies
dependabot[bot] Nov 8, 2024
ee594f6
Merge pull request #49 from Codeuctivity/dependabot/github_actions/cl…
stesee Nov 12, 2024
de75103
Merge pull request #50 from Codeuctivity/dependabot/nuget/multi-d4507…
stesee Nov 12, 2024
80755e0
Bump SkiaSharp from 2.88.9 to 3.116.1
dependabot[bot] Dec 6, 2024
4d5a1d3
Update SkiaSharpCompare.csproj
stesee Jan 1, 2025
76957d5
Merge pull request #55 from Codeuctivity/dependabot/nuget/SkiaSharp-3…
stesee Jan 1, 2025
bd8e08c
Enabled transparency
stesee Jan 5, 2025
94e9ef4
Update versioning in CI workflow and project file for pre-release
stesee Jan 6, 2025
960dc37
Fix conditional syntax in CI workflow for deployment
stesee Jan 6, 2025
ab56512
Support of transparent images
stesee Jan 6, 2025
bef2e81
Update SkiaSharpCompareTests.cs
stesee Jan 7, 2025
d9ebd8b
Bump SkiaSharp.NativeAssets.Linux.NoDependencies from 3.116.1 to 3.119.0
dependabot[bot] Apr 30, 2025
4ce3e47
Bump SkiaSharp from 3.116.1 to 3.119.0
dependabot[bot] Apr 30, 2025
fadf37b
Merge branch 'dependabot/nuget/SkiaSharp-3.119.0' into dependabot/nug…
stesee Apr 30, 2025
dd77122
Merge pull request #58 from Codeuctivity/dependabot/nuget/SkiaSharp.N…
stesee Apr 30, 2025
3e60a84
Fixed ignored parameter 'pixelColorShiftTolerance' in ImagesAreEqual …
stesee Apr 30, 2025
004843c
Incread minor version
stesee Apr 30, 2025
73f7abc
Code formated
stesee Apr 30, 2025
b1947d7
Update SkiaSharpCompareTestNunit.cs
stesee Apr 30, 2025
a9b2645
Merge pull request #59 from Codeuctivity/dependabot/nuget/SkiaSharp-3…
stesee Apr 30, 2025
28594de
Bump actions/checkout from 4 to 5
dependabot[bot] Aug 18, 2025
fbbc5b0
Bump actions/stale from 9 to 10
dependabot[bot] Sep 8, 2025
6ded365
Bump actions/setup-dotnet from 4 to 5
dependabot[bot] Sep 8, 2025
eeb2063
Update workflow and project files: remove pull_request trigger, add N…
stesee Sep 25, 2025
10da25e
Merge pull request #66 from Codeuctivity/Upgrades
stesee Sep 26, 2025
db2e3f2
Merge pull request #63 from Codeuctivity/dependabot/github_actions/ac…
stesee Sep 26, 2025
f6dc5ab
Merge pull request #61 from Codeuctivity/dependabot/github_actions/ac…
stesee Sep 26, 2025
eca8ff0
Merge pull request #62 from Codeuctivity/dependabot/github_actions/ac…
stesee Sep 26, 2025
f99301d
Update .NET version in workflow configuration
stesee Sep 27, 2025
84512f7
Merge commit 'bef2e817a7b747c675f4226beb06b51f1521a0d2' into stesee-p…
stesee Oct 1, 2025
13f6a17
Improve diff mask calculation and test naming
stesee Oct 1, 2025
3d13457
Add XML docs and centralize IsImageEntirelyBlack utility
stesee Oct 5, 2025
1c9352b
Refactor IsImageEntirelyBlack to support transparency options
stesee Oct 6, 2025
5bb821f
Update test cases and assertions in diff mask tests
stesee Oct 6, 2025
3d09a01
Use sut instance for CalcDiffMaskImage call
stesee Oct 6, 2025
de59b24
Improve diff mask calculation and update API
stesee Oct 6, 2025
ec34581
Make ImagesHaveEqualSize static and update tests
stesee Oct 6, 2025
ad83424
Merge pull request #69 from Codeuctivity/stesee-patch-1
stesee Oct 6, 2025
df52e77
Initial plan
Copilot Oct 24, 2025
3f86fa3
Add net10.0 support to all projects and CI workflow
Copilot Oct 24, 2025
821f94d
Merge pull request #70 from Codeuctivity/copilot/update-targetframewo…
stesee Oct 24, 2025
81b55d1
Merge branch 'release3.0' into main
stesee Nov 15, 2025
3742407
Update release workflow and package versioning
stesee Nov 15, 2025
5163576
Add github-copilot[bot] to CLA allowlist
stesee Nov 15, 2025
a0a0c75
Bump actions/checkout from 5 to 6
dependabot[bot] Nov 24, 2025
815dd73
Merge pull request #74 from Codeuctivity/dependabot/github_actions/ac…
stesee Nov 29, 2025
de830bb
Add metadata comparison support to image diff
stesee Nov 29, 2025
f5e04b3
Add CLI project and tests for SkiaSharpCompare
stesee Nov 29, 2025
e961bd8
Add CLI metadata extraction and improve metadata adapter
stesee Nov 29, 2025
4dbf2c9
Fix null handling in file name extraction and reorder method
stesee Nov 29, 2025
12044b2
Add metadata diff logging to metadata comparison test
stesee Nov 29, 2025
e5ad35c
Update artifact handling in dotnet workflow
stesee Nov 29, 2025
7daf80b
Fix metadata test to use en-US decimal and time formats
stesee Nov 29, 2025
5f6564c
Rename test images and update metadata test references
stesee Nov 30, 2025
e4c8517
Fix case sensitivity in colorShift image paths
stesee Nov 30, 2025
fad5e1e
Update SkiaSharpCompare/ImageCompare.cs
stesee Nov 30, 2025
5b1928a
Refactor stream decoding and add metadata comparison tests
stesee Dec 1, 2025
0b5f025
Refactor parameter names for clarity and consistency
stesee Dec 6, 2025
99ea054
Update CLA allowlist with additional bots
stesee Dec 6, 2025
4f4a68d
Add integration test for CLI and clean up usings
stesee Dec 6, 2025
44ee34b
Refactor error accumulation to use '+=' operator
stesee Dec 6, 2025
906f932
Refactor image diff logic and use C# primary constructor
stesee Dec 6, 2025
e38a844
Fix glob pattern for artifact release creation
stesee Dec 6, 2025
2921c01
Initial plan
Copilot Dec 6, 2025
9f0bf45
Enable globstar for recursive artifact pattern matching
Copilot Dec 6, 2025
33b6b5f
Zip artifacts directory instead of using globstar patterns
Copilot Dec 6, 2025
24e8006
Merge pull request #82 from Codeuctivity/copilot/sub-pr-75
stesee Dec 6, 2025
c15c8b5
Merge pull request #75 from Codeuctivity/DiffMetadata
stesee Dec 6, 2025
11f6819
Updated examples
stesee Dec 7, 2025
3440187
Merge pull request #84 from Codeuctivity/Documentation
stesee Dec 7, 2025
55ace17
Update README to remove Alpha-channel note
stesee Dec 8, 2025
f77c3b5
Merge pull request #85 from Codeuctivity/stesee-patch-1
stesee Dec 8, 2025
7d871b3
Bump actions/upload-artifact from 4 to 5
dependabot[bot] Dec 8, 2025
7356f6f
Bump actions/download-artifact from 4 to 6
dependabot[bot] Dec 8, 2025
744e557
Merge pull request #87 from Codeuctivity/dependabot/github_actions/ac…
stesee Dec 9, 2025
cec5649
Merge pull request #86 from Codeuctivity/dependabot/github_actions/ac…
stesee Dec 9, 2025
2760187
Bump actions/upload-artifact from 5 to 6
dependabot[bot] Dec 15, 2025
d3eca81
Bump actions/download-artifact from 6 to 7
dependabot[bot] Dec 15, 2025
b03b4be
Initial plan
Copilot Jan 6, 2026
b1b550d
Fix GitHub Actions token references and add permissions
Copilot Jan 6, 2026
bc915dc
Merge pull request #90 from Codeuctivity/copilot/fix-github-actions-t…
stesee Jan 6, 2026
98feebb
Merge pull request #89 from Codeuctivity/dependabot/github_actions/ac…
stesee Jan 6, 2026
f189acb
Merge pull request #88 from Codeuctivity/dependabot/github_actions/ac…
stesee Jan 6, 2026
9ba0553
Bump SkiaSharp from 3.119.1 to 3.119.2
dependabot[bot] Feb 9, 2026
63b71d3
Merge pull request #91 from Codeuctivity/dependabot/nuget/SkiaSharpCo…
stesee Feb 24, 2026
1e04ca3
Bump SkiaSharp.NativeAssets.Linux.NoDependencies from 3.119.1 to 3.119.2
dependabot[bot] Feb 24, 2026
20dcb4c
Merge pull request #92 from Codeuctivity/dependabot/nuget/SkiaSharpCo…
stesee Feb 24, 2026
d3fd93f
Bump actions/upload-artifact from 6 to 7
dependabot[bot] Mar 2, 2026
fa1a6ef
Bump actions/download-artifact from 7 to 8
dependabot[bot] Mar 2, 2026
303b848
Merge pull request #95 from Codeuctivity/dependabot/github_actions/ac…
stesee Mar 10, 2026
281ba15
Merge pull request #94 from Codeuctivity/dependabot/github_actions/ac…
stesee Mar 10, 2026
5892136
Bump MetadataExtractor from 2.9.0 to 2.9.3
dependabot[bot] Apr 9, 2026
5b6c506
Merge pull request #98 from Codeuctivity/dependabot/nuget/SkiaSharpCo…
stesee Apr 17, 2026
dd81ba9
Bump SkiaSharp.NativeAssets.Linux.NoDependencies from 3.119.2 to 3.119.4
dependabot[bot] May 27, 2026
bc4a6b2
Merge pull request #102 from Codeuctivity/dependabot/nuget/SkiaSharpC…
stesee Jun 4, 2026
4e809a1
Bump SkiaSharp from 3.119.2 to 3.119.4
dependabot[bot] Jun 4, 2026
d28a1ee
Implement CreateToleranceMaskFromDiff (issue #103)
stesee Jun 4, 2026
0faedbb
Addressed #103
stesee Jun 4, 2026
fb66bc9
Merge pull request #101 from Codeuctivity/dependabot/nuget/SkiaSharpC…
stesee Jun 4, 2026
880c79a
Update SkiaSharpStaticCompareTests.cs
stesee Jun 4, 2026
00c75e3
Merge pull request #104 from Codeuctivity/feature/issue-103-tolerance…
stesee Jun 4, 2026
1c95837
Bump actions/checkout from 6 to 7
dependabot[bot] Jun 22, 2026
14997d5
Bump SkiaSharp.NativeAssets.Linux.NoDependencies from 3.119.4 to 4.148.0
dependabot[bot] Jun 24, 2026
5972777
Merge pull request #108 from Codeuctivity/dependabot/github_actions/a…
stesee Jun 28, 2026
ab75db8
Aktualisiere .NET Build-Workflow und aktualisiere Paketversionen in P…
stesee Jun 28, 2026
c7f06c2
Merge pull request #110 from Codeuctivity/dependabot/nuget/SkiaSharpC…
stesee Jul 3, 2026
f08e55f
Migrate solution to .slnx and trim test targets
stesee Jul 3, 2026
2f94441
Fix deployTest workflow condition syntax
stesee Jul 3, 2026
5c6ad88
Bump SkiaSharp from 4.148.0 to 4.150.0
dependabot[bot] Jul 9, 2026
f78e599
Bump SkiaSharp.NativeAssets.Linux.NoDependencies from 4.148.0 to 4.150.0
dependabot[bot] Jul 9, 2026
5cc604d
Merge branch 'dependabot/nuget/SkiaSharpCompare/SkiaSharp-4.150.0' in…
stesee Jul 9, 2026
27f8caa
Merge pull request #114 from Codeuctivity/dependabot/nuget/SkiaSharpC…
stesee Jul 9, 2026
1fb5f2c
Merge pull request #113 from Codeuctivity/dependabot/nuget/SkiaSharpC…
stesee Jul 9, 2026
80a4427
Bump SkiaSharp* 4.150.0 -> 4.150.1
stesee Jul 16, 2026
f921f6a
Bump actions/setup-dotnet from 5 to 6
dependabot[bot] Jul 20, 2026
aff228b
Bump actions/stale from 10 to 11
dependabot[bot] Aug 3, 2026
68b1897
Set artifact retention to 7 days
stesee Aug 22, 2026
bf60d7d
Bump SkiaSharp from 4.150.1 to 4.152.0
dependabot[bot] Sep 9, 2026
c1e52cf
Bump SkiaSharp.NativeAssets.Linux.NoDependencies from 4.150.1 to 4.152.0
dependabot[bot] Sep 9, 2026
a04b2ac
Merge pull request #119 from Codeuctivity/dependabot/github_actions/a…
stesee Sep 9, 2026
1be9cf0
Merge remote-tracking branch 'origin/dependabot/nuget/SkiaSharpCompar…
Copilot Sep 9, 2026
64d8397
Merge pull request #120 from Codeuctivity/dependabot/github_actions/a…
stesee Sep 9, 2026
b7db297
Initial plan
Copilot Sep 9, 2026
5a95f49
fix: allow Copilot app identity in CLA Assistant allowlist
Copilot Sep 9, 2026
6758711
Merge pull request #128 from Codeuctivity/dependabot/nuget/SkiaSharpC…
stesee Sep 9, 2026
7283e67
Merge pull request #127 from Codeuctivity/dependabot/nuget/SkiaSharpC…
stesee Sep 9, 2026
71ef07c
Merge pull request #129 from Codeuctivity/copilot/fix-failing-github-…
stesee Sep 9, 2026
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
34 changes: 34 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/dotnet
{
"name": "C# (.NET)",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/dotnet:2-10.0-noble",
"customizations": {
"vscode": {
"extensions": [
"ms-dotnettools.csdevkit"
]
}
}

// Features to add to the dev container. More info: https://containers.dev/features.
// "features": {},

// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [5000, 5001],
// "portsAttributes": {
// "5001": {
// "protocol": "https"
// }
// }

// Use 'postCreateCommand' to run commands after the container is created.
// "postCreateCommand": "dotnet restore",

// Configure tool-specific properties.
// "customizations": {},

// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
}
11 changes: 10 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
@@ -1,13 +1,22 @@
[*.cs]
[*]
spelling_exclusion_path = .\exclusion.dic

[*.cs]

# CA1303: Do not pass literals as localized parameters
dotnet_diagnostic.CA1303.severity = none

# CA2000: Dispose objects before losing scope
dotnet_diagnostic.CA2000.severity = suggestion

# var preferences
csharp_style_var_elsewhere = true:warning
csharp_style_var_for_built_in_types = true:warning
csharp_style_var_when_type_is_apparent = true:warning

# CA1822: Mark members as static
dotnet_diagnostic.CA1822.severity = suggestion

[*.{cs,vb}]
tab_width=4
indent_size=4
Expand Down
15 changes: 15 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# These are supported funding model platforms

github: [Codeuctivity]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
polar: # Replace with a single Polar username
buy_me_a_coffee: # Replace with a single Buy Me a Coffee username
thanks_dev: # Replace with a single thanks.dev username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
6 changes: 3 additions & 3 deletions .github/workflows/cla.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,17 @@ jobs:
steps:
- name: "CLA Assistant"
if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target'
uses: cla-assistant/github-action@v2.2.1
uses: cla-assistant/github-action@v2.6.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# the below token should have repo scope and must be manually added by you in the repository's secret
PERSONAL_ACCESS_TOKEN : ${{ secrets.PERSONAL_ACCESS_TOKEN }}
with:
path-to-signatures: 'signatures/version1/cla.json'
path-to-document: 'https://github.com/Codeuctivity/ImageSharp.Compare/blob/main/cla.md' # e.g. a CLA or a DCO document
path-to-document: 'https://github.com/Codeuctivity/SkiaSharp.Compare/blob/main/cla.md' # e.g. a CLA or a DCO document
# branch should not be protected
branch: 'cla'
allowlist: dependabot[bot],stesee
allowlist: dependabot[bot],stesee,github-actions[bot],github-copilot[bot],copilot[bot],copilot-swe-agent[bot],Copilot

#below are the optional inputs - If the optional inputs are not given, then default values will be taken
#remote-organization-name: enter the remote organization name where the signatures should be stored (Default is storing the signatures in the same repository)
Expand Down
105 changes: 67 additions & 38 deletions .github/workflows/dotnet.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
name: .NET build and test
env:
CURRENT_VERSION: 0.0.${{ github.run_number }}
CURRENT_VERSION: 4.0.${{ github.run_number }}
LAST_COMMIT_MESSAGE: ${{ github.event.head_commit.message }}

on:
push:
pull_request:
paths-ignore:
- '**.md'

permissions:
contents: write

jobs:
build:
Expand All @@ -14,79 +18,104 @@ jobs:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v7
- name: Setup .NET
uses: actions/setup-dotnet@v3
uses: actions/setup-dotnet@v6
with:
dotnet-version: |
6.0.x
10.0.x
- name: Check formatting
run: dotnet format --verify-no-changes
- name: Restore dependencies
run: dotnet restore
- name: Build
run: dotnet build --configuration Release --no-restore

- name: Publish SkiaSharpCompare.Cli (Linux)
if: runner.os == 'Linux'
run: |
dotnet publish SkiaSharpCompare.Cli/SkiaSharpCompare.Cli.csproj -c Release -r linux-x64 --self-contained true -p:PublishSingleFile=true -o ./artifacts/cli/linux-x64

- name: Publish SkiaSharpCompare.Cli (macOS)
if: runner.os == 'macOS'
run: |
dotnet publish SkiaSharpCompare.Cli/SkiaSharpCompare.Cli.csproj -c Release -r osx-x64 --self-contained true -p:PublishSingleFile=true -o ./artifacts/cli/osx-x64

- name: Publish SkiaSharpCompare.Cli (Windows)
if: runner.os == 'Windows'
shell: powershell
run: |
dotnet publish SkiaSharpCompare.Cli/SkiaSharpCompare.Cli.csproj -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -o ./artifacts/cli/win-x64
dotnet publish SkiaSharpCompare.Cli/SkiaSharpCompare.Cli.csproj -c Release -r win-arm64 --self-contained true -p:PublishSingleFile=true -o ./artifacts/cli/win-arm64

- name: Upload CLI artifacts
uses: actions/upload-artifact@v7
with:
name: cli-artifacts-${{ matrix.os }}
path: ./artifacts/cli
retention-days: 7

- name: Test
run: dotnet test --no-build --verbosity normal --configuration Release

deployRelease:
if: github.ref == 'refs/heads/release'
if: startsWith(github.ref, 'refs/heads/release')
runs-on: ubuntu-latest
needs: build
needs: build
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v7
- name: Setup .NET
uses: actions/setup-dotnet@v3
uses: actions/setup-dotnet@v6
with:
dotnet-version: |
6.0.x
10.0.x
- name: Restore dependencies
run: dotnet restore
- name: Build
run: dotnet build --configuration Release --no-restore
- name: Download CLI artifacts
uses: actions/download-artifact@v8
with:
path: ./artifacts_download
- name: NugetPush
env:
NUGET_TOKEN_EXISTS: ${{ secrets.NUGET_TOKEN }}
if: env.NUGET_TOKEN_EXISTS != ''
if: env.NUGET_TOKEN_EXISTS != ''
run: |
dotnet nuget push ./SkiaSharpCompare/bin/Release/*.nupkg --skip-duplicate --api-key ${{secrets.NUGET_TOKEN}} --source https://api.nuget.org/v3/index.json
- uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: ${{ env.CURRENT_VERSION }}
prerelease: false
title: "Release Build"
files: |
./SkiaSharpCompare/bin/Release/*.nupkg
./SkiaSharpCompare/bin/Release/*.snupkg
dotnet nuget push ./SkiaSharpCompare/bin/Release/*.nupkg --skip-duplicate --api-key ${{secrets.NUGET_TOKEN}} --source https://api.nuget.org/v3/index.json
- name: Github release
shell: bash
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
if: env.GITHUB_TOKEN != ''
run: |
# Attach all downloaded CLI artifacts regardless of OS
zip -r cli-artifacts.zip ./artifacts_download
gh release create ${{env.CURRENT_VERSION}} ./SkiaSharpCompare/bin/Release/*.*nupkg cli-artifacts.zip --generate-notes

deployTest:
if: github.ref != 'refs/heads/release'
if: ${{ github.ref == 'refs/heads/main' }}
runs-on: ubuntu-latest
needs: build
needs: build
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v7
- name: Setup .NET
uses: actions/setup-dotnet@v3
uses: actions/setup-dotnet@v6
with:
dotnet-version: |
6.0.x
10.0.x
- name: Restore dependencies
run: dotnet restore
- name: Build
run: dotnet build --configuration Release --no-restore
- name: Download CLI artifacts
uses: actions/download-artifact@v8
with:
path: ./artifacts_download
- name: NugetPush
env:
NUGET_TOKEN_EXISTS: ${{ secrets.NUGET_TEST_TOKEN }}
if: env.NUGET_TOKEN_EXISTS != ''
if: env.NUGET_TOKEN_EXISTS != ''
run: |
ls ./SkiaSharpCompare/bin/Release
dotnet nuget push ./SkiaSharpCompare/bin/Release/*.nupkg --skip-duplicate --api-key ${{secrets.NUGET_TEST_TOKEN}} --source https://apiint.nugettest.org/v3/index.json
- uses: "marvinpinto/action-automatic-releases@latest"
if: github.ref == 'refs/heads/main'
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "latest-prerelease"
prerelease: true
title: "Prerelease Build"
files: |
./SkiaSharpCompare/bin/Release/*.nupkg
./SkiaSharpCompare/bin/Release/*.snupkg
dotnet nuget push ./SkiaSharpCompare/bin/Release/*.nupkg --skip-duplicate --api-key ${{secrets.NUGET_TEST_TOKEN}} --source https://apiint.nugettest.org/v3/index.json
2 changes: 1 addition & 1 deletion .github/workflows/stale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
pull-requests: write

steps:
- uses: actions/stale@v6
- uses: actions/stale@v11
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: 'Stale issue message'
Expand Down
1 change: 0 additions & 1 deletion .vscode/extensions.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"recommendations": [
"mhutchie.git-graph",
"streetsidesoftware.code-spell-checker",
"timonwong.shellcheck",
"redhat.vscode-xml",
"redhat.vscode-yaml"
]
Expand Down
4 changes: 2 additions & 2 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@
"request": "launch",
"preLaunchTask": "build",
// If you have changed target frameworks, make sure to update the program path.
"program": "${workspaceFolder}/ImageSharpCompareTestNunit/bin/Debug/net6.0/ImageSharpCompareTestNunit.dll",
"program": "${workspaceFolder}/SkiaSharpCompareTestNunit/bin/Debug/net6.0/SkiaSharpCompareTestNunit.dll",
"args": [],
"cwd": "${workspaceFolder}/ImageSharpCompareTestNunit",
"cwd": "${workspaceFolder}/SkiaSharpCompareTestNunit",
// For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console
"console": "internalConsole",
"stopAtEntry": false
Expand Down
23 changes: 13 additions & 10 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
{
"cSpell.words": [
"Codacy",
"Codeuctivity",
"Nuget",
"Nunit",
"Rgba",
"nupkg",
"snupkg"
]
}
"cSpell.words": [
"Codacy",
"Codeuctivity",
"Diffmask",
"Dont",
"Nuget",
"Nunit",
"nupkg",
"Rgba",
"Skia",
"snupkg"
]
}
18 changes: 15 additions & 3 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"type": "process",
"args": [
"build",
"${workspaceFolder}/ImageSharpCompareTestNunit/ImageSharpCompareTestNunit.csproj",
"${workspaceFolder}/SkiaSharpCompareTestNunit/SkiaSharpCompareTestNunit.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
Expand All @@ -19,7 +19,7 @@
"type": "process",
"args": [
"publish",
"${workspaceFolder}/ImageSharpCompareTestNunit/ImageSharpCompareTestNunit.csproj",
"${workspaceFolder}/SkiaSharpCompareTestNunit/SkiaSharpCompareTestNunit.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
Expand All @@ -32,7 +32,7 @@
"args": [
"watch",
"run",
"${workspaceFolder}/ImageSharpCompareTestNunit/ImageSharpCompareTestNunit.csproj",
"${workspaceFolder}/SkiaSharpCompareTestNunit/SkiaSharpCompareTestNunit.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
Expand All @@ -43,6 +43,18 @@
"type": "shell",
"command": "'./.vscode/updateNuget.sh'",
"problemMatcher": []
},
{
"label": "update nuget packages (windows)",
"type": "shell",
"command": "powershell",
"args": [
"-ExecutionPolicy",
"Bypass",
"-File",
"./.vscode/updateNuget.ps1"
],
"problemMatcher": []
}
]
}
23 changes: 23 additions & 0 deletions .vscode/updateNuget.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# PowerShell script to update NuGet packages in all project files
# This script finds all .csproj and .fsproj files and updates stable (non-prerelease) packages

$regex = 'PackageReference Include="([^"]*)" Version="([^"]*)"'

Get-ChildItem -Path . -Recurse -Include "*.csproj", "*.fsproj" | ForEach-Object {
$projFile = $_.FullName
Write-Host "Processing project: $projFile"
$content = Get-Content $projFile
foreach ($line in $content) {
if ($line -match $regex) {
$packageName = $matches[1]
$version = $matches[2]
Write-Host "Found package: $packageName, version: $version"

# Only update stable versions (not prerelease versions containing -)
if ($version -notmatch '-') {
Write-Host "Updating package: $packageName"
dotnet add "$projFile" package "$packageName"
}
}
}
}
Loading
Loading