diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index e9ff3649..5649f08c 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -44,3 +44,50 @@ jobs:
- name: Run Tests
run: dotnet test test\OpenFeature.Tests\ --configuration Release --logger GitHubActions
+
+ packaging:
+ needs:
+ - unit-tests-linux
+ - unit-tests-windows
+
+ permissions:
+ contents: read
+ packages: write
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Setup .NET SDK
+ uses: actions/setup-dotnet@v4
+ with:
+ dotnet-version: |
+ 6.0.x
+ 7.0.x
+
+ - name: Restore
+ run: dotnet restore
+
+ - name: Pack NuGet packages (CI versions)
+ if: startsWith(github.ref, 'refs/heads/')
+ run: dotnet pack --no-restore --version-suffix "ci.$(date -u +%Y%m%dT%H%M%S)+sha.${GITHUB_SHA:0:9}"
+
+ - name: Pack NuGet packages (PR versions)
+ if: startsWith(github.ref, 'refs/pull/')
+ run: dotnet pack --no-restore --version-suffix "pr.$(date -u +%Y%m%dT%H%M%S)+sha.${GITHUB_SHA:0:9}"
+
+ - name: Pack NuGet packages (Release versions)
+ if: startsWith(github.ref, 'refs/tags/v')
+ run: dotnet pack --no-restore
+
+ - name: Publish NuGet packages (base)
+ if: github.event.pull_request.head.repo.fork == false
+ run: dotnet nuget push "src/**/*.nupkg" --api-key "${{ secrets.GITHUB_TOKEN }}" --source https://nuget.pkg.github.com/open-feature/index.json
+
+ - name: Publish NuGet packages (fork)
+ if: github.event.pull_request.head.repo.fork == true
+ uses: actions/upload-artifact@v4.2.0
+ with:
+ name: nupkgs
+ path: src/**/*.nupkg
diff --git a/build/Common.prod.props b/build/Common.prod.props
index 49e454c5..8fbce04c 100644
--- a/build/Common.prod.props
+++ b/build/Common.prod.props
@@ -2,7 +2,10 @@
+ true
+ true
true
+ true
diff --git a/build/Common.props b/build/Common.props
index 65bf984d..e83b31ad 100644
--- a/build/Common.props
+++ b/build/Common.props
@@ -27,4 +27,8 @@
+
+
+
+