hashicorp/packer · error
GITLAB_CI environment variable not found
Error message
GITLAB_CI environment variable not found
What it means
CI/CD environment detection for HCP Packer registry metadata. GitlabCI.Detect probes for the GITLAB_CI variable that GitLab sets automatically in its CI runners; this error means Packer was not running inside a GitLab CI pipeline, so this detector does not apply. It is normally benign — the registry simply tries other detectors — and only matters if GitLab metadata was expected, in which case verify the build actually runs in GitLab CI.
Source
Thrown at internal/hcp/registry/metadata/cicd.go:55
if value, ok := os.LookupEnv(key); ok {
env[key] = value
}
}
env["GITHUB_WORKFLOW_URL"] = fmt.Sprintf("%s/%s/actions/runs/%s", os.Getenv("GITHUB_SERVER_URL"), os.Getenv("GITHUB_REPOSITORY"), os.Getenv("GITHUB_RUN_ID"))
return env
}
func (g *GithubActions) Type() string {
return "github"
}
type GitlabCI struct{}
func (g *GitlabCI) Detect() error {
_, ok := os.LookupEnv("GITLAB_CI")
if !ok {
return fmt.Errorf("GITLAB_CI environment variable not found")
}
return nil
}
func (g *GitlabCI) Details() map[string]interface{} {
env := make(map[string]interface{})
keys := []string{
"CI_PROJECT_NAME",
"CI_PROJECT_ID",
"CI_PROJECT_URL",
"CI_COMMIT_SHA",
"CI_COMMIT_REF_NAME",
"GITLAB_USER_NAME",
"GITLAB_USER_ID",
"CI_PIPELINE_SOURCE",
"CI_PIPELINE_URL",
"CI_JOB_URL",
"CI_SERVER_NAME",View on GitHub (pinned to eb36e3c3e4)
Solutions
- Expected negative detection; try the next CI provider in the chain
- Run the build from a GitLab pipeline job if GitLab metadata is required
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at internal/hcp/registry/metadata/cicd.go:55 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of hashicorp/packer@eb36e3c3e4 (2026-09-05).
Data as JSON: /api/errors/2b2462be3db9e556.
Report an issue: GitHub.