Skip to content

github-workflows-dojo360-go-ci

Build, test, and scan Go apps using the recommended UHG reusable CI workflow, with optional deploy and container builds

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

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)
  • 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 Go module lives (default: .)
go-private-orgsstringPrivate module org(s) (e.g., github.com/uhg-internal)
go-deployboolean/stringEnable deploy behavior if supported
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
  • 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.yml
  • go-ci-with-private-modules.yml
  • go-ci-with-docker-build.yml

Notes / Gotchas

  • If you use private modules, ensure go-private-orgs matches your module import paths.
  • If you build container images, ensure your Dockerfile uses Optum golden images (see .github/instructions/docker.instructions.md).

Related Assets