Skip to content

Commit 58292ed

Browse files
committed
fix: [#ci] initialize OpenTofu before validation in CI tests
- Add automatic OpenTofu/Terraform initialization in test-unit-config.sh - Fixes CI workflow failure where 'tofu validate' requires 'tofu init' first - Check for .terraform directory existence before running validation - Initialize silently to avoid test output clutter - Maintains backward compatibility with already-initialized environments - Resolves GitHub Actions workflow validation errors This ensures the configuration validation test works correctly in both: - Local environments (where tofu init has been run manually) - CI environments (where the working directory is clean) Tested scenarios: - Pre-initialized environment (existing behavior preserved) - Clean environment (auto-initialization works correctly) - Full CI test suite passes with this fix
1 parent 645c589 commit 58292ed

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

infrastructure/tests/test-unit-config.sh

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,31 @@ test_terraform_syntax() {
6363

6464
# Test Terraform syntax
6565
if command -v tofu >/dev/null 2>&1; then
66+
# Initialize if not already done (required for validation)
67+
if [[ ! -d ".terraform" ]]; then
68+
log_info "Initializing OpenTofu (required for validation)..."
69+
if ! tofu init >/dev/null 2>&1; then
70+
log_error "OpenTofu initialization failed"
71+
return 1
72+
fi
73+
fi
74+
6675
if ! tofu validate >/dev/null 2>&1; then
6776
log_error "OpenTofu validation failed"
6877
failed=1
6978
else
7079
log_success "OpenTofu configuration is valid"
7180
fi
7281
elif command -v terraform >/dev/null 2>&1; then
82+
# Initialize if not already done (required for validation)
83+
if [[ ! -d ".terraform" ]]; then
84+
log_info "Initializing Terraform (required for validation)..."
85+
if ! terraform init >/dev/null 2>&1; then
86+
log_error "Terraform initialization failed"
87+
return 1
88+
fi
89+
fi
90+
7391
if ! terraform validate >/dev/null 2>&1; then
7492
log_error "Terraform validation failed"
7593
failed=1

0 commit comments

Comments
 (0)