-
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy path00-core.env
More file actions
121 lines (96 loc) · 4.3 KB
/
00-core.env
File metadata and controls
121 lines (96 loc) · 4.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# ================================================================================================
# 🎯 CORE CONFIGURATION (00-core.env)
# ================================================================================================
#
# Purpose: Foundation layer - Go versions, runner configuration, feature flags, and timeouts
# Load Order: 00 (loaded first, can be overridden by later files)
#
# This file contains essential configuration that almost all Go projects need:
# - Go version configuration (primary, secondary, govulncheck)
# - Module configuration (go.sum location, multi-module support)
# - GitHub Actions runner configuration
# - GitHub token preferences
# - Core feature flags (benchmarks, coverage, tests, race detection, etc.)
# - Test and benchmark timeouts
# - Artifact download configuration
#
# Override in: 90-project.env (project-specific) or 99-local.env (local development)
#
# ================================================================================================
# ================================================================================================
# 🎯 GO VERSION CONFIGURATION
# ================================================================================================
# Primary Go version for builds and primary test runner
GO_PRIMARY_VERSION=1.24.x
# Secondary Go version for compatibility testing
GO_SECONDARY_VERSION=1.24.x
# Govulncheck-specific Go version for vulnerability scanning
GOVULNCHECK_GO_VERSION=1.26.1
# ================================================================================================
# 📦 GO MODULE CONFIGURATION
# ================================================================================================
# Go sum file location for dependency verification and caching
GO_SUM_FILE=go.sum
# Multi-module monorepo support
ENABLE_MULTI_MODULE_TESTING=false
# Private Go module support (opt-in)
# Set GOPRIVATE in 90-project.env to enable private module authentication
# Example: github.com/myorg/*,github.com/otherorg/*
GOPRIVATE=
GONOSUMCHECK=
GONOSUMDB=
# ================================================================================================
# 🖥️ RUNNER CONFIGURATION
# ================================================================================================
# Primary runner OS for most CI jobs
PRIMARY_RUNNER=ubuntu-24.04
# Secondary runner for cross-platform compatibility testing
SECONDARY_RUNNER=ubuntu-24.04
# ================================================================================================
# 🔑 GITHUB TOKEN CONFIGURATION
# ================================================================================================
# Preferred GitHub token for API operations
PREFERRED_GITHUB_TOKEN=GH_PAT_TOKEN
# ================================================================================================
# ✨ FEATURE FLAGS
# ================================================================================================
# Core Features
ENABLE_BENCHMARKS=true
ENABLE_CACHE_WARMING=true
ENABLE_CODE_COVERAGE=true
ENABLE_FUZZ_TESTING=true
ENABLE_GO_TESTS=true
ENABLE_RACE_DETECTION=true
ENABLE_STATIC_ANALYSIS=true
ENABLE_VERBOSE_TEST_OUTPUT=false
# Code Quality Tools
ENABLE_GO_LINT=true
ENABLE_GO_PRE_COMMIT=true
ENABLE_YAML_LINT=true
# Security Scanning
ENABLE_SECURITY_SCAN_GITLEAKS=true
ENABLE_SECURITY_SCAN_GOVULNCHECK=true
ENABLE_SECURITY_SCAN_NANCY=true
# Documentation & Publishing
ENABLE_GODOCS_PUBLISHING=true
# Workflow Reporting
ENABLE_COMPLETION_REPORT=true
# ================================================================================================
# 📦 ARTIFACT DOWNLOAD CONFIGURATION
# ================================================================================================
ARTIFACT_DOWNLOAD_RETRIES=3
ARTIFACT_DOWNLOAD_RETRY_DELAY=10
ARTIFACT_DOWNLOAD_TIMEOUT=300
ARTIFACT_DOWNLOAD_CONTINUE_ON_ERROR=true
# ================================================================================================
# ⚙️ BENCHMARK & TEST CONFIGURATION
# ================================================================================================
# Benchmark execution timeout in minutes
BENCHMARK_TIMEOUT=20
# Benchmark mode (Options: quick, full, normal)
BENCHMARK_MODE=quick
# Test Execution Timeouts
TEST_TIMEOUT=30m
TEST_TIMEOUT_RACE_COVER=30m
TEST_TIMEOUT_UNIT=20m
TEST_TIMEOUT_FUZZ=5m