diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 5e7d1cc..8fb5246 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -1,4 +1,15 @@
version: 2
+
+multi-ecosystem-groups:
+ infrastructure:
+ schedule:
+ interval: "weekly"
+ day: "wednesday"
+ open-pull-requests-limit: 25
+ commit-message:
+ prefix: "chore"
+ include: "scope"
+
updates:
- package-ecosystem: "nuget"
directory: "/"
@@ -6,7 +17,36 @@ updates:
interval: "weekly"
day: "wednesday"
open-pull-requests-limit: 25
+ cooldown:
+ default-days: 7
+ commit-message:
+ prefix: "chore"
+ include: "scope"
groups:
- dotnet:
+ dotnet-minor-patch:
+ update-types:
+ - "minor"
+ - "patch"
patterns:
- "*"
+ dotnet-major:
+ update-types:
+ - "major"
+ patterns:
+ - "*"
+
+ - package-ecosystem: "github-actions"
+ directory: "/"
+ patterns:
+ - "*"
+ multi-ecosystem-group: "infrastructure"
+ cooldown:
+ default-days: 7
+
+ - package-ecosystem: "uv"
+ directory: "/"
+ patterns:
+ - "*"
+ multi-ecosystem-group: "infrastructure"
+ cooldown:
+ default-days: 7
diff --git a/.github/workflows/dependabot-auto-merge.yml b/.github/workflows/dependabot-auto-merge.yml
new file mode 100644
index 0000000..4665ec9
--- /dev/null
+++ b/.github/workflows/dependabot-auto-merge.yml
@@ -0,0 +1,42 @@
+name: Dependabot auto-merge
+
+on:
+ pull_request_target:
+ types: [opened, synchronize, reopened]
+
+permissions:
+ contents: write
+ pull-requests: write
+
+jobs:
+ dependabot:
+ runs-on: ubuntu-latest
+ if: github.event.pull_request.user.login == 'dependabot[bot]' && github.repository == 'LayeredCraft/optimized-enums'
+ steps:
+ - name: Dependabot metadata
+ id: metadata
+ uses: dependabot/fetch-metadata@25dd0e34f4fe68f24cc83900b1fe3fe149efef98 # v3
+ with:
+ github-token: "${{ secrets.GITHUB_TOKEN }}"
+
+ - name: Generate app token
+ id: app-token
+ if: steps.metadata.outputs.update-type == 'version-update:semver-patch' || steps.metadata.outputs.update-type == 'version-update:semver-minor'
+ uses: actions/create-github-app-token@fee1f7d63c2ff003460e3d139729b119787bc349 # v2
+ with:
+ app-id: ${{ secrets.DEPENDABOT_AUTOMERGE_APP_ID }}
+ private-key: ${{ secrets.DEPENDABOT_AUTOMERGE_PRIVATE_KEY }}
+
+ - name: Approve PR
+ if: steps.metadata.outputs.update-type == 'version-update:semver-patch' || steps.metadata.outputs.update-type == 'version-update:semver-minor'
+ run: gh pr review --approve "$PR_URL"
+ env:
+ PR_URL: ${{ github.event.pull_request.html_url }}
+ GH_TOKEN: ${{ steps['app-token'].outputs.token }}
+
+ - name: Enable auto-merge for Dependabot PRs
+ if: steps.metadata.outputs.update-type == 'version-update:semver-patch' || steps.metadata.outputs.update-type == 'version-update:semver-minor'
+ run: gh pr merge --auto --squash "$PR_URL"
+ env:
+ PR_URL: ${{ github.event.pull_request.html_url }}
+ GH_TOKEN: ${{ steps['app-token'].outputs.token }}
diff --git a/Directory.Packages.props b/Directory.Packages.props
index 5124500..a61ec1a 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -28,30 +28,37 @@
+
-
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/LayeredCraft.OptimizedEnums.slnx b/LayeredCraft.OptimizedEnums.slnx
index f33d1be..07b0f60 100644
--- a/LayeredCraft.OptimizedEnums.slnx
+++ b/LayeredCraft.OptimizedEnums.slnx
@@ -43,6 +43,7 @@
+