From 988f7e31f4157dfe1a06d34f19243b42814fd7d8 Mon Sep 17 00:00:00 2001 From: Nick Cipollina Date: Wed, 22 Jul 2026 14:59:13 -0400 Subject: [PATCH 1/3] ci(github): use mtp-compatible package build --- .github/workflows/build.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index ce75009..31585e5 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -17,9 +17,11 @@ on: permissions: write-all jobs: build: - uses: LayeredCraft/devops-templates/.github/workflows/package-build.yaml@v10.2 + uses: LayeredCraft/devops-templates/.github/workflows/package-build.yaml@v6.4 with: hasTests: true + useMtpRunner: true + testDirectory: "test" dotnet-version: | 8.0.x 9.0.x From 4c19c30e09c6ce925b0efa5ec1b2583c07cf5d90 Mon Sep 17 00:00:00 2001 From: Nick Cipollina Date: Wed, 22 Jul 2026 15:03:03 -0400 Subject: [PATCH 2/3] ci(github): add standard release workflows --- .github/release-drafter.yml | 95 +++++++++++++++++++ .github/workflows/build.yaml | 29 ------ .github/workflows/pr-title-check.yaml | 13 +++ .github/workflows/publish-preview.yaml | 40 ++++++++ .github/workflows/publish-release.yaml | 31 ++++++ .github/workflows/release-drafter.yaml | 20 ++++ ...t.Lambda.AspNetCore.HostingExtensions.slnx | 6 +- 7 files changed, 204 insertions(+), 30 deletions(-) create mode 100644 .github/release-drafter.yml delete mode 100644 .github/workflows/build.yaml create mode 100644 .github/workflows/pr-title-check.yaml create mode 100644 .github/workflows/publish-preview.yaml create mode 100644 .github/workflows/publish-release.yaml create mode 100644 .github/workflows/release-drafter.yaml 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 31585e5..0000000 --- a/.github/workflows/build.yaml +++ /dev/null @@ -1,29 +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@v6.4 - with: - hasTests: true - useMtpRunner: true - testDirectory: "test" - 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..efb93e5 --- /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: false + 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..25a9e7a --- /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: false + 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 @@ + - + + + + From d9b9158e142f514f10e5721b32c71d1bd3c5e13a Mon Sep 17 00:00:00 2001 From: Nick Cipollina Date: Wed, 22 Jul 2026 15:04:51 -0400 Subject: [PATCH 3/3] ci(github): enable tests in publish workflows --- .github/workflows/publish-preview.yaml | 2 +- .github/workflows/publish-release.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-preview.yaml b/.github/workflows/publish-preview.yaml index efb93e5..1ae797f 100644 --- a/.github/workflows/publish-preview.yaml +++ b/.github/workflows/publish-preview.yaml @@ -25,7 +25,7 @@ jobs: 8.0.x 9.0.x 10.0.x - hasTests: false + hasTests: true secrets: inherit push: diff --git a/.github/workflows/publish-release.yaml b/.github/workflows/publish-release.yaml index 25a9e7a..a491b12 100644 --- a/.github/workflows/publish-release.yaml +++ b/.github/workflows/publish-release.yaml @@ -16,7 +16,7 @@ jobs: 8.0.x 9.0.x 10.0.x - hasTests: false + hasTests: true secrets: inherit push: