-
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy path10-mage-x.env
More file actions
126 lines (107 loc) · 5.34 KB
/
10-mage-x.env
File metadata and controls
126 lines (107 loc) · 5.34 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
122
123
124
125
126
# ================================================================================================
# 🪄 MAGE-X CONFIGURATION (10-mage-x.env)
# ================================================================================================
#
# Purpose: MAGE-X build tool configuration and tool version management
# Load Order: 10 (tool-specific defaults, loaded after core)
#
# MAGE-X is the task runner and build orchestration tool for go-fortress.
# This file defines all MAGE-X-specific configuration including:
# - MAGE-X version and local development settings
# - Tool versions (golangci-lint, gofumpt, goreleaser, etc.)
# - Build configuration (tags, exclusions, strategy)
# - Format exclusion paths
# - Auto-discovery settings
#
# Override in: 90-project.env for project-specific tool versions
#
# Tool Versions Reference:
# - golangci-lint: https://github.com/golangci/golangci-lint/releases
# - gofumpt: https://github.com/mvdan/gofumpt/releases
# - goreleaser: https://github.com/goreleaser/goreleaser/releases
# - govulncheck: https://go.googlesource.com/vuln/+refs
# - mockgen: https://github.com/uber-go/mock/releases
# - nancy: https://github.com/sonatype-nexus-community/nancy/releases
# - staticcheck: https://github.com/dominikh/go-tools/releases
# - swag: https://github.com/swaggo/swag/releases
# - yamlfmt: https://github.com/google/yamlfmt/releases
# - benchstat: https://pkg.go.dev/golang.org/x/perf/cmd/benchstat
# - gitleaks: https://github.com/gitleaks/gitleaks/releases
# - mage: https://github.com/magefile/mage/releases
#
# ================================================================================================
# ================================================================================================
# 🪄 MAGE-X CORE CONFIGURATION
# ================================================================================================
# MAGE-X version
MAGE_X_VERSION=v1.20.4
# For mage-x development, set to 'true' to use local version instead of downloading from releases
MAGE_X_USE_LOCAL=false
# Skip step summary in CI logs to reduce noise (set to 'true' to enable)
MAGE_X_CI_SKIP_STEP_SUMMARY=false
# ================================================================================================
# 🏗️ BUILD CONFIGURATION
# ================================================================================================
MAGE_X_AUTO_DISCOVER_BUILD_TAGS=true
MAGE_X_AUTO_DISCOVER_BUILD_TAGS_EXCLUDE=race,custom
MAGE_X_FORMAT_EXCLUDE_PATHS=vendor,node_modules,.git,.idea
# Exclude magefiles from prebuild - they require 'mage' build tag and fail without it
# MAGE_X_BUILD_EXCLUDE_PATTERN=magefiles
# ================================================================================================
# 🛠️ TOOL VERSIONS
# ================================================================================================
MAGE_X_GITLEAKS_VERSION=8.30.0
MAGE_X_GOFUMPT_VERSION=v0.9.2
MAGE_X_GOLANGCI_LINT_VERSION=v2.9.0
MAGE_X_GORELEASER_VERSION=v2.13.3
MAGE_X_GOVULNCHECK_VERSION=v1.1.4
MAGE_X_GO_SECONDARY_VERSION=1.24.x
MAGE_X_GO_VERSION=1.24.x
MAGE_X_MOCKGEN_VERSION=v0.6.0
MAGE_X_NANCY_VERSION=v1.2.0
MAGE_X_STATICCHECK_VERSION=2026.1
MAGE_X_SWAG_VERSION=v1.16.6
MAGE_X_YAMLFMT_VERSION=v0.21.0
MAGE_X_BENCHSTAT_VERSION=v0.0.0-20260211190930-8161c38c6cdc
MAGE_X_MAGE_VERSION=v1.15.0
# ================================================================================================
# 📝 RUNTIME VARIABLES (set by setup-goreleaser action)
# ================================================================================================
# MAGE_X_GORELEASER_PATH - Path to installed goreleaser binary
# MAGE_X_GORELEASER_INSTALLED - Set to 'true' when goreleaser is available
# MAGE_X_GORELEASER_CACHED_VERSION - Version of installed goreleaser
# ================================================================================================
# ⚙️ OPTIONAL OVERRIDES (use 90-project.env to override these defaults)
# ================================================================================================
# MAGE_X_BINARY_NAME=magex
# MAGE_X_BUILD_BATCH_DELAY_MS=200
# MAGE_X_BUILD_BATCH_SIZE=2
# MAGE_X_BUILD_STRATEGY=incremental
# MAGE_X_BUILD_TAGS=mage
# MAGE_X_DOWNLOAD_BACKOFF=2.0
# MAGE_X_DOWNLOAD_INITIAL_DELAY=300
# MAGE_X_DOWNLOAD_MAX_DELAY=1000
# MAGE_X_DOWNLOAD_RESUME=false
# MAGE_X_DOWNLOAD_RETRIES=3
# MAGE_X_DOWNLOAD_TIMEOUT=5000
# MAGE_X_DOWNLOAD_USER_AGENT=MAGE-X-Agent
# MAGE_X_PARALLEL=3
# MAGE_X_TEST_EXCLUDE_MODULES=module1,module2
# MAGE_X_TEST_RACE=false
# MAGE_X_VERBOSE=true
# ================================================================================================
# 🧪 FUZZ TEST CONFIGURATION
# ================================================================================================
# Timeout for pre-compiling fuzz test binaries with coverage instrumentation.
# This warms the Go build cache before running individual fuzz tests, preventing
# the first test per package from timing out in projects with large dependency trees.
# Set to "0s" to disable warmup.
MAGE_X_FUZZ_WARMUP_TIMEOUT=5m
# Buffer time added to each fuzz test timeout for setup/teardown overhead
# MAGE_X_FUZZ_BASELINE_BUFFER=90s
# Estimated time per seed during baseline gathering phase
# MAGE_X_FUZZ_BASELINE_OVERHEAD_PER_SEED=500ms
# Minimum timeout for any fuzz test
# MAGE_X_FUZZ_MIN_TIMEOUT=90s
# Maximum timeout cap for fuzz tests
# MAGE_X_FUZZ_MAX_TIMEOUT=30m