| name | dev-workflow |
|---|---|
| description | Use for branches, build/pack, test scripts, CI workflows, versioning, CODEOWNERS, and security tooling in contentstack-utils-dotnet. |
- Setting up the repo locally, cutting releases, or debugging CI.
- Changing GitHub Actions, branch protection expectations, or dependency scanning.
- Bumping package version or understanding how NuGet publish is triggered.
- Release flow is direct
development->master(nostagingpromotion step). .github/workflows/back-merge-pr.ymlopens an automated PR frommasterback todevelopmentafter changes land onmaster.
- Package version is centralized in
Directory.Build.props(Versionproperty).Contentstack.Utils.csprojusesPackageVersion/ReleaseVersiontied to$(Version)where applicable—bump version in one place for releases.
- From repo root:
dotnet build Contentstack.Utils.sln(use-c Releasefor release builds).
Scripts/run-unit-test-case.sh: DeletesContentstack.Utils.Tests/TestResults, runsdotnet test Contentstack.Utils.Tests/Contentstack.Utils.Tests.csprojwith TRX loggerReport-Contentstack-DotNet-Test-Case.trxandXPlat code coverage. This is what.github/workflows/unit-test.ymlruns on Windows.Scripts/run-test-case.sh: Runsdotnet teston the solution with a date-stamped TRX name, collects coverage, findscoverage.cobertura.xml, then runspython3 Scripts/generate_test_report.pyto produce HTML underContentstack.Utils.Tests/TestResults/Coverage-.../index.html. Use this for a local combined test + coverage report (Python 3 stdlib only).
- Local pack:
dotnet pack -c Release -o out(same as.github/workflows/nuget-publish.yml). - Publishing: triggered on GitHub release created. Jobs build on Windows, pack, and push
contentstack.utils.*.nupkgto NuGet.org and GitHub Packages (requires GitHub secrets, includingNUGET_API_KEYfor NuGet.org and GitHub Packages auth where applicable; do not commit secrets).
| Workflow | Purpose |
|---|---|
unit-test.yml |
Windows unit tests via run-unit-test-case.sh. |
back-merge-pr.yml |
Auto-open master → development back-merge PRs. |
nuget-publish.yml |
Pack and push on release. |
sca-scan.yml |
dotnet restore + Snyk snyk test in Contentstack.Utils (needs SNYK_TOKEN). |
policy-scan.yml |
For public repos: SECURITY.md and license file with current calendar year. |
codeql-analysis.yml |
CodeQL csharp with autobuild. |
issues-jira.yml |
Mirror new issues to Jira (Atlassian actions + secrets). |
CODEOWNERS: default review@contentstack/devex-pr-reviewers;@contentstack/security-adminfor security workflows,.snyk, and related paths.- Note:
CODEOWNERSreferences.github/workflows/codeql-anaylsis.yml(typo). The actual file iscodeql-analysis.yml. Fix the typo inCODEOWNERSin a dedicated PR if you want CodeQL ownership to apply.
.talismanrcpins checksums for specific files. Do not add ignores or weaken checks without security team agreement.