Skip to content

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

active
IDE:
claude
codex
vscode
Version:
1.0.0
Owner:pcorazao
github-actions
workflow
dojo360

.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 publish for deployable outputs
  • Optional dotnet pack args 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)

InputTypeDescription
jfrog-project-keystringJFrog project key (routes to the correct SaaS Artifactory repos)
working-directorystringWhere your .NET solution/project lives (default: .)
dotnet-versionstring.NET SDK version (e.g., 8.0.x)
dotnet-publishbooleanEnable dotnet publish
dotnet-publish-project-pathstringPath to the project to publish
dotnet-pack-argsstringAdditional args for packing/versioning
docker-tagsstringImage tag(s) to publish when doing Docker builds
docker-contextstringDocker build context
docker-dockerfilestringDockerfile 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.yml
  • dotnet-ci-with-publish.yml
  • dotnet-ci-with-docker-build.yml

Notes / Gotchas

  • If you publish, set dotnet-publish-project-path to 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