go-continuous-integration

Generates GitHub Actions CI pipelines for Go projects covering testing, linting, security, and releases.

1|2|Updated Nov 25, 2017
One-click install
npx skills add https://github.com/asarchami/dotfiles --skill go-continuous-integration-asarchami
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: go-continuous-integration
Source: https://github.com/asarchami/dotfiles/tree/main/dot_config/opencode/skills/go/go-continuous-integration
Command: npx skills add https://github.com/asarchami/dotfiles --skill go-continuous-integration-asarchami

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes assets (resource) and references (resource) components.

What problem does it solve? Setting up a complete, secure CI pipeline for a Go project requires coordinating many moving parts — test matrices, linting, vulnerability scanning, dependency updates, Docker builds, and releases — and misconfigurations silently weaken quality gates. ## Core Features & Use Cases - Stage-by-stage pipeline generation: Produces GitHub Actions workflows in the order test → lint → security → release, with ready-to-adapt templates for each stage. - Security and dependency automation: Configures govulncheck, CodeQL, gosec, Trivy container scanning, Dependabot or Renovate with guarded auto-merge, plus a repository security settings checklist. - Release and AI review workflows: Provides GoReleaser configs for CLI tools, libraries, and monorepos, multi-platform Docker builds with SBOM and provenance, and Claude Code or Copilot AI review jobs. - Use Case: You are bootstrapping a new Go service and need CI that runs race-enabled tests across Go versions, blocks vulnerable dependencies, and publishes signed container images on tagged releases. ## Quick Start Set up a complete GitHub Actions CI pipeline for my Go project with testing, linting, security scanning, and a GoReleaser release workflow.

Frequently Asked Questions about go-continuous-integration

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up a GitHub Actions CI pipeline for a Go project?

Generate workflows in stage order: test, lint, security, then release. The test stage runs go test with -race and -shuffle=on across a Go version matrix, lint uses golangci-lint, security adds govulncheck and CodeQL, and releases use GoReleaser triggered on v* tags.

Dependabot vs Renovate for Go dependency updates?

Dependabot groups minor and patch updates into one PR and splits majors, with auto-merge guarded by an actor check and branch protection. Renovate adds gomodTidy, native automerge, flexible grouping, regex managers, and monorepo support for Go workspaces.

Why should Go CI tests use -race, -shuffle=on, and -count=1?

The -race flag detects data races, -shuffle=on randomizes test order to catch inter-test dependencies, and -count=1 disables result caching so integration tests against services like Postgres cannot hide flaky behavior behind cached passes.

How do I prevent Docker images from being pushed on pull requests?

Set push to false when the event is a pull request so the Dockerfile is validated without publishing untrusted code. Registry logins are also skipped on PRs, and pushes only occur on main branch or version tag events.

What GitHub repository settings should accompany a Go CI pipeline?

Enable branch protection requiring pull requests, approvals, and passing status checks, set the default GITHUB_TOKEN to read-only, require approval for fork PR workflows, and store credentials in secrets with a protected release environment.

Does govulncheck differ from generic CVE scanners for Go?

Yes, govulncheck reports only vulnerabilities in code paths your program actually calls, rather than flagging every CVE present in the dependency graph. This reduces noise and makes it suitable as a blocking CI gate.