ci

package
v1.10.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 21, 2026 License: MIT Imports: 2 Imported by: 0

README

GitLab Development Kit CI/CD Pipeline

This is the GitLab Development Kit's CI/CD pipeline, imported from gitlab-org/gitlab-development-kit.

Overview

GitLab Development Kit (GDK) helps developers get started with GitLab Rails development. This pipeline demonstrates development environment testing and validation.

Pipeline Characteristics

  • Project ID: 74823
  • Lines of Code: ~45 lines
  • Language: Ruby, Shell
  • Features Demonstrated:
    • Development environment testing
    • Multi-platform support (Linux, macOS)
    • Integration testing
    • Documentation validation
    • Setup script verification

Key Features

Environment Validation

Tests GDK installation and setup across different platforms.

Integration Testing

Ensures all GitLab components work together in development.

Documentation Pipeline

Validates and publishes development documentation.

Multi-Platform Support

Tests on both Linux and macOS to ensure cross-platform compatibility.

What You Can Learn

  1. Development environment CI/CD - Testing development setups
  2. Multi-platform support - Ensuring tools work across OSes
  3. Integration testing - Testing complex multi-component systems
  4. Documentation automation - Validating and publishing docs

Source

Building This Example

cat pipeline.go
mkdir my-gdk-pipeline && cp pipeline.go my-gdk-pipeline/
cd my-gdk-pipeline && go mod init example/my-gdk-pipeline && go mod tidy

Documentation

Index

Constants

This section is empty.

Variables

View Source
var MainPipeline = pipeline.Pipeline{
	Stages: List("build", "test", "analyze", "pre-verify", "integration", "verify", "novel", "deploy", "cleanup"),
	Variables: Json{
		"HUGO_VERSION":                       "0.146.0",
		"DEFAULT_BRANCH_IMAGE":               "${DEFAULT_IMAGE_WITHOUT_TAG}:${CI_COMMIT_REF_SLUG}",
		"VERIFY_IMAGE_MAIN":                  "${CI_REGISTRY_IMAGE}/mise-bootstrapped-gdk-installed:main",
		"GITLAB_REMOTE_WORKSPACE_BASE_IMAGE": "gitlab-remote-workspace-base",
		"GITLAB_LAST_VERIFIED_SHA_PATH":      "gitlab-last-verified-sha.json",
		"GDK_INTERNAL_CACHE_GO_FULL_DIR":     "$GDK_INTERNAL_CACHE_FULL_DIR/go",
		"GITLAB_CI_CACHE_DIR":                ".gitlab-ci-cache",
		"DEFAULT_IMAGE_WITHOUT_TAG":          "${CI_REGISTRY_IMAGE}/mise-bootstrapped-verify",
		"INTEGRATION_IMAGE":                  "${CI_REGISTRY_IMAGE}/mise-ci-integration:${CI_COMMIT_REF_SLUG}",
		"GITLAB_CI_CACHE_FULL_GO_DIR":        "$GITLAB_CI_CACHE_FULL_DIR/go",
		"ENABLE_BOOTSNAP":                    "false",
		"NOKOGIRI_LIBXML_MEMORY_MANAGEMENT":  "default",
		"FF_USE_INIT_WITH_DOCKER_EXECUTOR":   true,
		"RUBYOPT":                            "--yjit",
		"REGISTRY_HOST":                      "registry.gitlab.com",
		"BUNDLE_PATH":                        "vendor/bundle",
		"GDK_DEBUG":                          "true",
		"GDK_INTERNAL_CACHE_FULL_DIR":        "/home/gdk/$GITLAB_CI_CACHE_DIR",
		"GDK_INTERNAL_CACHE_RUBY_FULL_DIR":   "$GDK_INTERNAL_CACHE_FULL_DIR/ruby",
		"GITLAB_GDK_IN_A_BOX_IMAGE":          "gitlab-gdk-in-a-box",
		"VERIFY_IMAGE":                       "${CI_REGISTRY_IMAGE}/mise-bootstrapped-gdk-installed:${CI_COMMIT_REF_SLUG}",
		"CI_API_V4_URL":                      "https://gitlab.com/api/v4",
		"GITLAB_CI_CACHE_GO_DIR":             "$GITLAB_CI_CACHE_DIR/go",
		"BUNDLE_FROZEN":                      "true",
		"GITLAB_CI_CACHE_FULL_DIR":           "$CI_PROJECT_DIR/$GITLAB_CI_CACHE_DIR",
		"PUMA_SINGLE_MODE":                   "true",
		"DOCS_LINT_IMAGE":                    "registry.gitlab.com/gitlab-org/technical-writing/docs-gitlab-com/lint-markdown:alpine-3.22-vale-3.13.0-markdownlint2-0.19.0-lychee-0.21.0",
		"FF_TIMESTAMPS":                      true,
		"GITLAB_REMOTE_WORKSPACE_IMAGE":      "gitlab-remote-workspace",
		"DEFAULT_MAIN_IMAGE":                 "${DEFAULT_IMAGE_WITHOUT_TAG}:main",
		"RUBY_VERSION":                       "3.2",
		"BUNDLE_JOBS":                        "$(nproc)",
		"REGISTRY_GROUP":                     "gitlab-org",
	},
}

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL