github-workflows-dojo360-go-ci
Build, test, and scan Go apps using the recommended UHG reusable CI workflow, with optional deploy and container builds
Go CI Workflow Skill
Overview
This skill covers Go CI patterns for build/test/scans and optional deploy steps.
The Dojo360 workflow (go-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/go-ci.yml@v2
Legacy (Dojo360)
Repository: dojo360/pipelines-workflows
Workflow: .github/workflows/go-ci.yml
Docs: https://github.com/dojo360/pipelines-workflows/tree/main/web/go-ci/index.md
Key Features
- Runs Go build + unit tests
- Supports Go modules
- Artifactory integration via
jfrog-project-key - Optional deploy actions (workflow-dependent)
- Optional Docker build/publish if you pass Docker inputs
Prerequisites
- Go project in the repo (
go.mod) - Artifactory project/repositories provisioned
- If using private modules:
- Configure private org/module settings (e.g.,
go-private-orgs)
- Configure private org/module settings (e.g.,
- 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 Go module lives (default: .) |
go-private-orgs | string | Private module org(s) (e.g., github.com/uhg-internal) |
go-deploy | boolean/string | Enable deploy behavior if supported |
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
- Any deploy-time secrets required by your runtime/platform
Templates
See ready-to-copy examples in .github/skills/github-workflows-dojo360-go-ci/templates/:
basic-go-ci.ymlgo-ci-with-private-modules.ymlgo-ci-with-docker-build.yml
Notes / Gotchas
- If you use private modules, ensure
go-private-orgsmatches your module import paths. - 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

