From 32204fcf8bf780143f93165281b899c58a5a3f9c Mon Sep 17 00:00:00 2001
From: techknowlogick <techknowlogick@gitea.io>
Date: Tue, 14 Mar 2023 16:09:01 -0400
Subject: [PATCH] test_env: hardcode major go version in use (#23464)

hardcode the version of test_env we use in docker, so that we can use
different major versions of golang between versions of Gitea

---------

Co-authored-by: Lauris BH <lauris@nix.lv>
---
 .drone.yml                     | 40 +++++++++++++++++-----------------
 Makefile                       |  2 +-
 modules/highlight/highlight.go |  6 +++--
 3 files changed, 25 insertions(+), 23 deletions(-)

diff --git a/.drone.yml b/.drone.yml
index 1181b809b0..2bcf494d91 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -44,7 +44,7 @@ steps:
     depends_on: [deps-frontend]
 
   - name: lint-backend
-    image: gitea/test_env:linux-amd64  # https://gitea.com/gitea/test-env
+    image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env
     pull: always
     commands:
       - make lint-backend
@@ -58,7 +58,7 @@ steps:
         path: /go
 
   - name: lint-backend-windows
-    image: gitea/test_env:linux-amd64  # https://gitea.com/gitea/test-env
+    image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env
     commands:
       - make golangci-lint-windows vet
     environment:
@@ -73,7 +73,7 @@ steps:
         path: /go
 
   - name: lint-backend-gogit
-    image: gitea/test_env:linux-amd64  # https://gitea.com/gitea/test-env
+    image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env
     commands:
       - make lint-backend
     environment:
@@ -234,13 +234,13 @@ steps:
         path: /go
 
   - name: prepare-test-env
-    image: gitea/test_env:linux-amd64  # https://gitea.com/gitea/test-env
+    image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env
     pull: always
     commands:
       - ./build/test-env-prepare.sh
 
   - name: build
-    image: gitea/test_env:linux-amd64  # https://gitea.com/gitea/test-env
+    image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env
     user: gitea
     commands:
       - ./build/test-env-check.sh
@@ -255,7 +255,7 @@ steps:
         path: /go
 
   - name: test-pgsql
-    image: gitea/test_env:linux-amd64  # https://gitea.com/gitea/test-env
+    image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env
     user: gitea
     commands:
       - timeout -s ABRT 50m make test-pgsql-migration test-pgsql
@@ -336,13 +336,13 @@ steps:
         path: /go
 
   - name: prepare-test-env
-    image: gitea/test_env:linux-amd64  # https://gitea.com/gitea/test-env
+    image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env
     pull: always
     commands:
       - ./build/test-env-prepare.sh
 
   - name: build
-    image: gitea/test_env:linux-amd64  # https://gitea.com/gitea/test-env
+    image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env
     user: gitea
     commands:
       - ./build/test-env-check.sh
@@ -357,7 +357,7 @@ steps:
         path: /go
 
   - name: unit-test
-    image: gitea/test_env:linux-amd64  # https://gitea.com/gitea/test-env
+    image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env
     user: gitea
     commands:
       - make unit-test-coverage test-check
@@ -373,7 +373,7 @@ steps:
         path: /go
 
   - name: unit-test-gogit
-    image: gitea/test_env:linux-amd64  # https://gitea.com/gitea/test-env
+    image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env
     user: gitea
     commands:
       - make unit-test-coverage test-check
@@ -389,7 +389,7 @@ steps:
         path: /go
 
   - name: test-mysql
-    image: gitea/test_env:linux-amd64  # https://gitea.com/gitea/test-env
+    image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env
     user: gitea
     commands:
       - make test-mysql-migration integration-test-coverage
@@ -490,13 +490,13 @@ steps:
         path: /go
 
   - name: prepare-test-env
-    image: gitea/test_env:linux-amd64  # https://gitea.com/gitea/test-env
+    image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env
     pull: always
     commands:
       - ./build/test-env-prepare.sh
 
   - name: build
-    image: gitea/test_env:linux-amd64  # https://gitea.com/gitea/test-env
+    image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env
     user: gitea
     commands:
       - ./build/test-env-check.sh
@@ -511,7 +511,7 @@ steps:
         path: /go
 
   - name: test-mysql8
-    image: gitea/test_env:linux-amd64  # https://gitea.com/gitea/test-env
+    image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env
     user: gitea
     commands:
       - timeout -s ABRT 50m make test-mysql8-migration test-mysql8
@@ -580,13 +580,13 @@ steps:
         path: /go
 
   - name: prepare-test-env
-    image: gitea/test_env:linux-amd64  # https://gitea.com/gitea/test-env
+    image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env
     pull: always
     commands:
       - ./build/test-env-prepare.sh
 
   - name: build
-    image: gitea/test_env:linux-amd64  # https://gitea.com/gitea/test-env
+    image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env
     user: gitea
     commands:
       - ./build/test-env-check.sh
@@ -601,7 +601,7 @@ steps:
         path: /go
 
   - name: test-mssql
-    image: gitea/test_env:linux-amd64  # https://gitea.com/gitea/test-env
+    image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env
     user: gitea
     commands:
       - make test-mssql-migration test-mssql
@@ -660,13 +660,13 @@ steps:
         path: /go
 
   - name: prepare-test-env
-    image: gitea/test_env:linux-arm64  # https://gitea.com/gitea/test-env
+    image: gitea/test_env:linux-1.20-arm64  # https://gitea.com/gitea/test-env
     pull: always
     commands:
       - ./build/test-env-prepare.sh
 
   - name: build
-    image: gitea/test_env:linux-arm64  # https://gitea.com/gitea/test-env
+    image: gitea/test_env:linux-1.20-arm64  # https://gitea.com/gitea/test-env
     user: gitea
     commands:
       - ./build/test-env-check.sh
@@ -681,7 +681,7 @@ steps:
         path: /go
 
   - name: test-sqlite
-    image: gitea/test_env:linux-arm64  # https://gitea.com/gitea/test-env
+    image: gitea/test_env:linux-1.20-arm64  # https://gitea.com/gitea/test-env
     user: gitea
     commands:
       - timeout -s ABRT 50m make test-sqlite-migration test-sqlite
diff --git a/Makefile b/Makefile
index d770ed453f..1fde15c83e 100644
--- a/Makefile
+++ b/Makefile
@@ -29,7 +29,7 @@ AIR_PACKAGE ?= github.com/cosmtrek/air@v1.40.4
 EDITORCONFIG_CHECKER_PACKAGE ?= github.com/editorconfig-checker/editorconfig-checker/cmd/editorconfig-checker@2.6.0
 ERRCHECK_PACKAGE ?= github.com/kisielk/errcheck@v1.6.2
 GOFUMPT_PACKAGE ?= mvdan.cc/gofumpt@v0.4.0
-GOLANGCI_LINT_PACKAGE ?= github.com/golangci/golangci-lint/cmd/golangci-lint@v1.51.0
+GOLANGCI_LINT_PACKAGE ?= github.com/golangci/golangci-lint/cmd/golangci-lint@v1.51.2
 GXZ_PAGAGE ?= github.com/ulikunitz/xz/cmd/gxz@v0.5.10
 MISSPELL_PACKAGE ?= github.com/client9/misspell/cmd/misspell@v0.3.4
 SWAGGER_PACKAGE ?= github.com/go-swagger/go-swagger/cmd/swagger@v0.30.4
diff --git a/modules/highlight/highlight.go b/modules/highlight/highlight.go
index a5c38940a7..fac682b8a8 100644
--- a/modules/highlight/highlight.go
+++ b/modules/highlight/highlight.go
@@ -36,6 +36,8 @@ var (
 	once sync.Once
 
 	cache *lru.TwoQueueCache
+
+	githubStyles = styles.Get("github")
 )
 
 // NewContext loads custom highlight map from local config
@@ -121,7 +123,7 @@ func CodeFromLexer(lexer chroma.Lexer, code string) string {
 		return code
 	}
 	// style not used for live site but need to pass something
-	err = formatter.Format(htmlw, styles.GitHub, iterator)
+	err = formatter.Format(htmlw, githubStyles, iterator)
 	if err != nil {
 		log.Error("Can't format code: %v", err)
 		return code
@@ -184,7 +186,7 @@ func File(fileName, language string, code []byte) ([]string, string, error) {
 	lines := make([]string, 0, len(tokensLines))
 	for _, tokens := range tokensLines {
 		iterator = chroma.Literator(tokens...)
-		err = formatter.Format(htmlBuf, styles.GitHub, iterator)
+		err = formatter.Format(htmlBuf, githubStyles, iterator)
 		if err != nil {
 			return nil, "", fmt.Errorf("can't format code: %w", err)
 		}