diff --git a/.github/workflows/publish-nuget.yml b/.github/workflows/publish-nuget.yml
new file mode 100644
index 0000000..c9f1ab6
--- /dev/null
+++ b/.github/workflows/publish-nuget.yml
@@ -0,0 +1,42 @@
+name: Publish NuGet Packages
+
+on:
+ push:
+ tags:
+ - '[0-9]+.[0-9]+.[0-9]+'
+ - '[0-9]+.[0-9]+.[0-9]+-*'
+
+jobs:
+ build-and-publish:
+ name: Build and Publish NuGet
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout Code
+ uses: actions/checkout@v3
+ - name: Setup .NET
+ uses: actions/setup-dotnet@v3
+ with:
+ dotnet-version: 9.0
+ - name: Extract Version from Tag
+ run: echo "VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV
+ - name: Install Dependencies
+ run: dotnet restore
+ - name: Build Solution
+ run: |
+ dotnet build --configuration Release \
+ --no-restore \
+ -p:CI_BUILD=true \
+ -p:Version=${{env.VERSION}} \
+ -p:PackageVersion=${{env.VERSION}} \
+ - name: Pack NuGet Packages
+ run: |
+ dotnet pack --configuration Release \
+ --no-build \
+ -p:CI_BUILD=true \
+ -p:Version=${{env.VERSION}} \
+ -p:PackageVersion=${{env.VERSION}} \
+ --output ./artifacts
+ - name: Publish to NuGet
+ env:
+ NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}
+ run: dotnet nuget push ./artifacts/*.nupkg --source https://api.nuget.org/v3/index.json --api-key $NUGET_API_KEY
diff --git a/.gitignore b/.gitignore
index 7023fb3..4b784bc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -327,4 +327,40 @@ ASALocalRun/
*.nvuser
# MFractors (Xamarin productivity tool) working folder
-.mfractor/
\ No newline at end of file
+.mfractor/# Created by https://www.toptal.com/developers/gitignore/api/macos
+# Edit at https://www.toptal.com/developers/gitignore?templates=macos
+
+### macOS ###
+# General
+.DS_Store
+.AppleDouble
+.LSOverride
+
+# Icon must end with two \r
+Icon
+
+# Thumbnails
+._*
+
+# Files that might appear in the root of a volume
+.DocumentRevisions-V100
+.fseventsd
+.Spotlight-V100
+.TemporaryItems
+.Trashes
+.VolumeIcon.icns
+.com.apple.timemachine.donotpresent
+
+# Directories potentially created on remote AFP share
+.AppleDB
+.AppleDesktop
+Network Trash Folder
+Temporary Items
+.apdisk
+
+### macOS Patch ###
+# iCloud generated files
+*.icloud
+
+# End of https://www.toptal.com/developers/gitignore/api/macos
+
diff --git a/LICENSE b/LICENSE
index 019012f..b9883bb 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,7 +1,7 @@
MIT License
-Copyright (c) 2018-2023 Digitec Galaxus AG
- 2018-2023 Galaxus.Functional contributors (see https://github.com/DigitecGalaxus/Galaxus.Functional/graphs/contributors)
+Copyright (c) 2018-2024 Digitec Galaxus AG
+ 2018-2024 Galaxus.Functional contributors (see https://github.com/DigitecGalaxus/Galaxus.Functional/graphs/contributors)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/Package.props b/Package.props
index d976fe1..068ee2c 100644
--- a/Package.props
+++ b/Package.props
@@ -22,7 +22,7 @@
$(AssemblyName)
0.0.0
Digitec Galaxus AG
- 2018-2023 Digitec Galaxus AG
+ 2018-2024 Digitec Galaxus AG
MIT
https://github.com/DigitecGalaxus/Galaxus.Functional
https://github.com/DigitecGalaxus/Galaxus.Functional