diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml
new file mode 100644
index 0000000..3715180
--- /dev/null
+++ b/.github/release-drafter.yml
@@ -0,0 +1,95 @@
+name-template: 'v$RESOLVED_VERSION'
+tag-template: 'v$RESOLVED_VERSION'
+commitish: main
+
+version-resolver:
+ major:
+ labels:
+ - 'breaking-change'
+ minor:
+ labels:
+ - 'type: feat'
+ patch:
+ labels:
+ - 'type: fix'
+ - 'type: docs'
+ - 'type: refactor'
+ - 'type: test'
+ - 'type: chore'
+ - 'type: ci'
+ - 'type: revert'
+ default: patch
+
+autolabeler:
+ - label: 'type: feat'
+ title:
+ - '/^feat(\(.+\))?(!)?:/i'
+ - label: 'type: fix'
+ title:
+ - '/^fix(\(.+\))?(!)?:/i'
+ - label: 'type: docs'
+ title:
+ - '/^docs(\(.+\))?(!)?:/i'
+ - label: 'type: refactor'
+ title:
+ - '/^refactor(\(.+\))?(!)?:/i'
+ - label: 'type: test'
+ title:
+ - '/^test(\(.+\))?(!)?:/i'
+ - label: 'type: chore'
+ title:
+ - '/^chore(\(.+\))?(!)?:/i'
+ - label: 'type: ci'
+ title:
+ - '/^ci(\(.+\))?(!)?:/i'
+ - label: 'type: revert'
+ title:
+ - '/^revert(\(.+\))?(!)?:/i'
+ - label: 'breaking-change'
+ title:
+ - '/^(feat|fix|docs|refactor|test|chore|ci|revert)(\([^)]*\))?!:/i'
+
+categories:
+ - title: '⚠️ Breaking Changes'
+ labels:
+ - 'breaking-change'
+ - title: '🚀 Features'
+ labels:
+ - 'type: feat'
+ - title: '🐛 Bug Fixes'
+ labels:
+ - 'type: fix'
+ - title: '📚 Documentation'
+ labels:
+ - 'type: docs'
+ - title: '🔄 Refactoring'
+ labels:
+ - 'type: refactor'
+ - title: '✅ Tests'
+ labels:
+ - 'type: test'
+ - title: '🔧 Maintenance'
+ labels:
+ - 'type: chore'
+ - 'type: ci'
+ - 'type: revert'
+
+include-labels:
+ - 'type: feat'
+ - 'type: fix'
+ - 'type: docs'
+ - 'type: refactor'
+ - 'type: test'
+ - 'type: chore'
+ - 'type: ci'
+ - 'type: revert'
+ - 'breaking-change'
+
+exclude-labels:
+ - 'skip-changelog'
+ - 'internal'
+
+template: |
+ ## Changes
+
+ $CHANGES
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
deleted file mode 100644
index ce75009..0000000
--- a/.github/workflows/build.yaml
+++ /dev/null
@@ -1,27 +0,0 @@
-name: Build
-on:
- workflow_dispatch:
- push:
- branches:
- - main
- - beta
- - release/*
- tags:
- - v*
- paths-ignore:
- - docs/**
- - README.md
- - mkdocs.yml
- - pyproject.toml
- - uv.lock
-permissions: write-all
-jobs:
- build:
- uses: LayeredCraft/devops-templates/.github/workflows/package-build.yaml@v10.2
- with:
- hasTests: true
- dotnet-version: |
- 8.0.x
- 9.0.x
- 10.0.x
- secrets: inherit
\ No newline at end of file
diff --git a/.github/workflows/pr-title-check.yaml b/.github/workflows/pr-title-check.yaml
new file mode 100644
index 0000000..1dbf78e
--- /dev/null
+++ b/.github/workflows/pr-title-check.yaml
@@ -0,0 +1,13 @@
+name: PR Title Check
+
+on:
+ pull_request:
+ types: [opened, edited, synchronize, reopened]
+
+permissions:
+ pull-requests: read
+ statuses: write
+
+jobs:
+ validate:
+ uses: LayeredCraft/devops-templates/.github/workflows/pr-title-check.yml@v10.2
diff --git a/.github/workflows/publish-preview.yaml b/.github/workflows/publish-preview.yaml
new file mode 100644
index 0000000..1ae797f
--- /dev/null
+++ b/.github/workflows/publish-preview.yaml
@@ -0,0 +1,40 @@
+name: Publish Preview
+
+on:
+ workflow_dispatch:
+ push:
+ branches:
+ - main
+ paths-ignore:
+ - 'docs/**'
+ - 'README.md'
+ - 'mkdocs.yml'
+ - 'pyproject.toml'
+ - 'uv.lock'
+
+permissions:
+ contents: write
+ pull-requests: write
+
+jobs:
+ build:
+ uses: LayeredCraft/devops-templates/.github/workflows/publish-preview.yml@v10.2
+ with:
+ solution: LayeredCraft.Lambda.AspNetCore.HostingExtensions.slnx
+ dotnetVersion: |
+ 8.0.x
+ 9.0.x
+ 10.0.x
+ hasTests: true
+ secrets: inherit
+
+ push:
+ needs: build
+ runs-on: ubuntu-latest
+ permissions:
+ id-token: write
+ contents: read
+ steps:
+ - uses: LayeredCraft/devops-templates/.github/actions/nuget-push@v10.2
+ with:
+ nuget_user: ${{ secrets.NUGET_USER }}
diff --git a/.github/workflows/publish-release.yaml b/.github/workflows/publish-release.yaml
new file mode 100644
index 0000000..a491b12
--- /dev/null
+++ b/.github/workflows/publish-release.yaml
@@ -0,0 +1,31 @@
+name: Publish Release
+
+on:
+ release:
+ types: [published]
+
+permissions:
+ contents: write
+
+jobs:
+ build:
+ uses: LayeredCraft/devops-templates/.github/workflows/publish-release.yml@v10.2
+ with:
+ solution: LayeredCraft.Lambda.AspNetCore.HostingExtensions.slnx
+ dotnetVersion: |
+ 8.0.x
+ 9.0.x
+ 10.0.x
+ hasTests: true
+ secrets: inherit
+
+ push:
+ needs: build
+ runs-on: ubuntu-latest
+ permissions:
+ id-token: write
+ contents: read
+ steps:
+ - uses: LayeredCraft/devops-templates/.github/actions/nuget-push@v10.2
+ with:
+ nuget_user: ${{ secrets.NUGET_USER }}
diff --git a/.github/workflows/release-drafter.yaml b/.github/workflows/release-drafter.yaml
new file mode 100644
index 0000000..57e9fe6
--- /dev/null
+++ b/.github/workflows/release-drafter.yaml
@@ -0,0 +1,20 @@
+name: Release Drafter
+
+on:
+ push:
+ branches:
+ - main
+ pull_request:
+ types: [opened, edited, synchronize, reopened, ready_for_review]
+ workflow_dispatch:
+
+permissions:
+ contents: write
+ pull-requests: write
+
+jobs:
+ draft:
+ uses: LayeredCraft/devops-templates/.github/workflows/release-drafter.yml@v10.2
+ with:
+ event_name: ${{ github.event_name }}
+ pr_draft: ${{ github.event.pull_request.draft == true }}
diff --git a/LayeredCraft.Lambda.AspNetCore.HostingExtensions.slnx b/LayeredCraft.Lambda.AspNetCore.HostingExtensions.slnx
index 31b3901..241d6cd 100644
--- a/LayeredCraft.Lambda.AspNetCore.HostingExtensions.slnx
+++ b/LayeredCraft.Lambda.AspNetCore.HostingExtensions.slnx
@@ -24,10 +24,14 @@
+
-
+
+
+
+