fix: Resolve CSS bundling in production and lint errors

- Fix golangci-lint errcheck errors by using t.Setenv() instead of os.Setenv()
- Add CSS bundle build step to deploy workflow for production
- Add graceful fallback to modular CSS if bundle doesn't exist
- Remove unused os import from preferences_test.go
This commit is contained in:
juanatsap
2025-11-30 12:38:31 +00:00
parent 95de841e14
commit 00e28906e6
3 changed files with 25 additions and 14 deletions
+9 -1
View File
@@ -330,8 +330,16 @@ func (h *CVHandler) prepareTemplateData(lang string) (map[string]interface{}, er
// Get current year
currentYear := time.Now().Year()
// Check if production mode
// Check if production mode AND CSS bundle exists
// This ensures graceful fallback to modular CSS if bundle not built
isProduction := os.Getenv("GO_ENV") == "production"
if isProduction {
bundlePath := filepath.Join("static", "dist", "bundle.min.css")
if _, err := os.Stat(bundlePath); os.IsNotExist(err) {
// Bundle doesn't exist, fall back to modular CSS
isProduction = false
}
}
// Prepare template data
data := map[string]interface{}{
+4 -13
View File
@@ -3,7 +3,6 @@ package middleware
import (
"net/http"
"net/http/httptest"
"os"
"testing"
)
@@ -385,12 +384,8 @@ func TestIsProductionMode(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
// Save original environment
originalEnv := os.Getenv("GO_ENV")
defer os.Setenv("GO_ENV", originalEnv)
// Set test environment
os.Setenv("GO_ENV", tt.envValue)
// t.Setenv automatically restores the original value after the test
t.Setenv("GO_ENV", tt.envValue)
result := isProductionMode()
@@ -428,12 +423,8 @@ func TestSetPreferenceCookieSecureFlag(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
// Save original environment
originalEnv := os.Getenv("GO_ENV")
defer os.Setenv("GO_ENV", originalEnv)
// Set test environment
os.Setenv("GO_ENV", tt.envValue)
// t.Setenv automatically restores the original value after the test
t.Setenv("GO_ENV", tt.envValue)
w := httptest.NewRecorder()
SetPreferenceCookie(w, "test-cookie", "test-value")