Skip to content

deps(dotnet): Bump Microsoft.NET.Test.Sdk from 18.6.0 to 18.7.0 #13

deps(dotnet): Bump Microsoft.NET.Test.Sdk from 18.6.0 to 18.7.0

deps(dotnet): Bump Microsoft.NET.Test.Sdk from 18.6.0 to 18.7.0 #13

Workflow file for this run

# =============================================================================
# Release Workflow — LIB-Shared-Business-Models-NET
# =============================================================================
# CI/CD for the Business Models libraries using reusable workflows from
# bauer-group/automation-templates:
# - PR validation (build & test, cross-platform)
# - Semantic versioning from conventional commits
# - Automatic release creation
# - NuGet publishing to NuGet.org and GitHub Packages
# - Assembly signing with SNK key
#
# Required Secrets:
# - NUGET_API_KEY: API key for NuGet.org publishing
# - DOTNET_SIGNKEY_BASE64: Base64-encoded SNK key for assembly signing
# =============================================================================
name: 🚀 Release & Publish
on:
push:
branches: [main]
paths-ignore:
- ".github/**"
- "*.md"
- "docs/**"
pull_request:
branches: [main]
paths:
- "src/**"
- "tests/**"
- "*.slnx"
- "Directory.Build.props"
- "Directory.Packages.props"
workflow_dispatch:
inputs:
force-release:
description: "Force create release (even without conventional commits)"
type: boolean
default: false
permissions:
contents: write
packages: write
id-token: write
issues: write
pull-requests: write
security-events: write
jobs:
# ============================================
# Validation (runs on all triggers)
# ============================================
validate:
name: 🔨 Build & Test
uses: bauer-group/automation-templates/.github/workflows/dotnet-build.yml@main
with:
project-path: "BAUERGROUP.Shared.Business.Models.slnx"
dotnet-version: "10.0.x"
run-tests: true
collect-coverage: true
# Linux runner — the models are pure managed POCOs (net10.0;net8.0;netstandard2.0),
# platform-agnostic, so a single Linux build leg covers every target framework.
runs-on: "ubuntu-latest"
snk-file-path: "build/BAUERGROUP.Shared.snk"
secrets: inherit
# ============================================
# Semantic Release (only on main branch push)
# ============================================
release:
name: 📦 Create Release
needs: validate
if: |
(github.event_name == 'push' && github.ref == 'refs/heads/main') ||
github.event_name == 'workflow_dispatch'
uses: bauer-group/automation-templates/.github/workflows/modules-semantic-release.yml@main
with:
target-branch: "main"
force-release: ${{ inputs.force-release || false }}
extra-plugins: "semantic-release-dotnet"
secrets: inherit
# ============================================
# Publish NuGet Packages (after release)
# ============================================
publish:
name: 📤 Publish to NuGet & GitHub
needs: release
if: needs.release.outputs.release-created == 'true'
uses: bauer-group/automation-templates/.github/workflows/dotnet-publish-library.yml@main
with:
project-path: "BAUERGROUP.Shared.Business.Models.slnx"
dotnet-version: "10.0.x"
release-version: ${{ needs.release.outputs.version }}
run-tests: false
sign-assembly: true
push-to-nuget: true
push-to-github: true
nuget-auth-method: "api-key"
include-symbols: true
include-source: true
deterministic-build: true
secrets: inherit
# ============================================
# PR Package Validation (only on pull requests)
# ============================================
pr-validate:
name: 📋 Validate Package (PR)
needs: validate
if: github.event_name == 'pull_request'
uses: bauer-group/automation-templates/.github/workflows/dotnet-publish-library.yml@main
with:
project-path: "BAUERGROUP.Shared.Business.Models.slnx"
dotnet-version: "10.0.x"
version-suffix: "pr"
run-tests: false
create-package: true
include-symbols: true
push-to-nuget: false
push-to-github: false
secrets: inherit