github-workflows-dojo360-dotnet-ci
Build, test, and scan .NET apps using the recommended UHG reusable CI workflow, with optional publish/pack and container builds
.NET CI Workflow Skill
Overview
This skill covers .NET CI patterns for build/test/scans and optional publish/package steps.
The Dojo360 workflow (dotnet-ci.yml) exists, but for new implementations the recommended approach is to use the UHG CI Workflows reusable workflow from uhg-pipelines/ci-workflows.
Workflow Reference
Recommended (Use This)
Repository: uhg-pipelines/ci-workflows
Workflow: .github/workflows/dotnet-ci.yml@v2
Legacy (Dojo360)
Repository: dojo360/pipelines-workflows
Workflow: .github/workflows/dotnet-ci.yml
Docs: https://github.com/dojo360/pipelines-workflows/tree/main/web/dotnet-ci/index.md
Key Features
- Runs .NET build + unit tests
- Supports configurable .NET SDK versions
- Optional
dotnet publishfor deployable outputs - Optional
dotnet packargs for versioning/packages - Artifactory integration via
jfrog-project-key - Optional Docker build/publish if you pass Docker inputs
Prerequisites
- .NET project in the repo (e.g.,
*.csproj) - Artifactory project/repositories provisioned
- If building containers:
- Dockerfile must use Optum golden images (no public base images)
- Runner must have Docker available
Common Inputs (UHG reusable workflow)
| Input | Type | Description |
|---|---|---|
jfrog-project-key | string | JFrog project key (routes to the correct SaaS Artifactory repos) |
working-directory | string | Where your .NET solution/project lives (default: .) |
dotnet-version | string | .NET SDK version (e.g., 8.0.x) |
dotnet-publish | boolean | Enable dotnet publish |
dotnet-publish-project-path | string | Path to the project to publish |
dotnet-pack-args | string | Additional args for packing/versioning |
docker-tags | string | Image tag(s) to publish when doing Docker builds |
docker-context | string | Docker build context |
docker-dockerfile | string | Dockerfile path |
Secrets
UHG reusable workflows generally handle Artifactory auth via OIDC + EPL actions, but you may still need:
- Repo/org secrets required by your org’s scanning configuration
- Tokens for any opt-in scanners your org uses
Templates
See ready-to-copy examples in .github/skills/github-workflows-dojo360-dotnet-ci/templates/:
basic-dotnet-ci.ymldotnet-ci-with-publish.ymldotnet-ci-with-docker-build.yml
Notes / Gotchas
- If you publish, set
dotnet-publish-project-pathto the correct*.csproj(especially in monorepos). - If you build container images, ensure your Dockerfile uses Optum golden images (see
.github/instructions/docker.instructions.md).
Related Assets
github-workflows-dojo360-azure-infrastructure
Deploy Azure infrastructure using Terraform with PCAM vaulted access and native Azure authentication through Dojo360 Azure Infrastructure workflow
Owner: pcorazao
github-workflows-dojo360-container-cd
Deploy containerized applications to AWS ECS/Azure ACS using Dojo360 Container CD workflow with blue-green and rolling update strategies
Owner: pcorazao
github-workflows-dojo360-container-promotion
Multi-environment container deployment promotion through prescribed deployment paths with automated approval gates and E2E testing
Owner: pcorazao
github-workflows-dojo360-database
Automate database schema updates using Liquibase via the Dojo360 database workflow (with rollback and validation patterns)
Owner: pcorazao
github-workflows-dojo360-database-promotion
Promote Liquibase database changes across environments (dev→qa→cert→prod) with deployment-path validation and approval gates
Owner: pcorazao
github-workflows-dojo360-dockerfile-ci
Build and scan container images from a Dockerfile using Optum golden images and the recommended UHG reusable workflow
Owner: pcorazao

