Skip to content

Latest commit

 

History

History
49 lines (34 loc) · 2.92 KB

File metadata and controls

49 lines (34 loc) · 2.92 KB
name dev-workflow
description Use for branches, CI, build/test scripts, and NuGet release flow in contentstack-management-dotnet.

Dev workflow – Contentstack Management .NET SDK

When to use

  • Changing or debugging GitHub Actions workflows.
  • Running the same build/test commands as CI locally.
  • Preparing a release or understanding how packages are published.

Instructions

Branch policy

  • Default: open PRs against development for feature and fix work.
  • Releases: open a release PR developmentmain (no staging). After main is updated, .github/workflows/back-merge-pr.yml opens maindevelopment when needed so branches stay aligned.
  • Publishing: create a GitHub Release (after the release commit is on main) to trigger .github/workflows/nuget-publish.yml (release: created).
  • Version gate: PRs that touch product code or Directory.Build.props need matching bumps in Directory.Build.props and CHANGELOG.md per .github/workflows/check-version-bump.yml.

Key workflows

Workflow Role
unit-test.yml On PR and push: runs Scripts/run-unit-test-case.sh (unit tests + TRX + coverlet).
back-merge-pr.yml After pushes to main, opens maindevelopment PR if needed.
check-version-bump.yml On PR: requires version + changelog when SDK sources / props change.
nuget-publish.yml On GitHub Release (created): dotnet pack -c Release -o out and push to NuGet / GitHub Packages.
policy-scan.yml, sca-scan.yml Security / compliance scans.

Local commands

  • Build: dotnet build Contentstack.Management.Core.sln
  • Unit tests (matches CI): sh ./Scripts/run-unit-test-case.sh from repo root (cleans Contentstack.Management.Core.Unit.Tests/TestResults first).
  • Integration tests: separate project; see ../testing/SKILL.md.

Scripts

Signing and secrets

  • Contributors need CSManagementSDK.snk for a full signed build matching the repo; see ../framework/SKILL.md.
  • NuGet push uses repository secrets (NUGET_API_KEY, etc.)—never commit keys.

Top-level commands: ../../AGENTS.md.