go: update required version to be 1.17 and add 1.19 to CI (#7129)

Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
This commit is contained in:
Joe Chen
2022-08-08 13:56:50 +08:00
committed by GitHub
parent cfa5ddbde8
commit a43b933c90
8 changed files with 99 additions and 41 deletions

View File

@@ -55,7 +55,7 @@ jobs:
name: Test name: Test
strategy: strategy:
matrix: matrix:
go-version: [ 1.16.x, 1.17.x, 1.18.x ] go-version: [ 1.17.x, 1.18.x, 1.19.x ]
platform: [ ubuntu-latest, macos-latest ] platform: [ ubuntu-latest, macos-latest ]
runs-on: ${{ matrix.platform }} runs-on: ${{ matrix.platform }}
steps: steps:
@@ -95,7 +95,7 @@ jobs:
name: Test name: Test
strategy: strategy:
matrix: matrix:
go-version: [ 1.16.x, 1.17.x, 1.18.x ] go-version: [ 1.17.x, 1.18.x, 1.19.x ]
platform: [ windows-latest ] platform: [ windows-latest ]
runs-on: ${{ matrix.platform }} runs-on: ${{ matrix.platform }}
steps: steps:
@@ -133,7 +133,7 @@ jobs:
name: Postgres name: Postgres
strategy: strategy:
matrix: matrix:
go-version: [ 1.16.x, 1.17.x, 1.18.x ] go-version: [ 1.17.x, 1.18.x, 1.19.x ]
platform: [ ubuntu-latest ] platform: [ ubuntu-latest ]
runs-on: ${{ matrix.platform }} runs-on: ${{ matrix.platform }}
services: services:
@@ -169,7 +169,7 @@ jobs:
name: MySQL name: MySQL
strategy: strategy:
matrix: matrix:
go-version: [ 1.16.x, 1.17.x, 1.18.x ] go-version: [ 1.17.x, 1.18.x, 1.19.x ]
platform: [ ubuntu-18.04 ] platform: [ ubuntu-18.04 ]
runs-on: ${{ matrix.platform }} runs-on: ${{ matrix.platform }}
steps: steps:
@@ -194,7 +194,7 @@ jobs:
name: SQLite - Go name: SQLite - Go
strategy: strategy:
matrix: matrix:
go-version: [ 1.16.x, 1.17.x, 1.18.x ] go-version: [ 1.17.x, 1.18.x, 1.19.x ]
platform: [ ubuntu-latest ] platform: [ ubuntu-latest ]
runs-on: ${{ matrix.platform }} runs-on: ${{ matrix.platform }}
steps: steps:

View File

@@ -19,7 +19,7 @@ All notable changes to Gogs are documented in this file.
- The default branch has been changed to `main`. [#6285](https://github.com/gogs/gogs/pull/6285) - The default branch has been changed to `main`. [#6285](https://github.com/gogs/gogs/pull/6285)
- MSSQL as database backend is deprecated, installation page no longer shows it as an option. Existing installations and manually craft configuration file continue to work. [#6295](https://github.com/gogs/gogs/pull/6295) - MSSQL as database backend is deprecated, installation page no longer shows it as an option. Existing installations and manually craft configuration file continue to work. [#6295](https://github.com/gogs/gogs/pull/6295)
- Use [Task](https://github.com/go-task/task) as the build tool. [#6297](https://github.com/gogs/gogs/pull/6297) - Use [Task](https://github.com/go-task/task) as the build tool. [#6297](https://github.com/gogs/gogs/pull/6297)
- The required Go version to compile source code changed to 1.16. - The required Go version to compile source code changed to 1.17.
- Access tokens are now stored using their SHA256 hashes instead of raw values. [#7008](https://github.com/gogs/gogs/pull/7008) - Access tokens are now stored using their SHA256 hashes instead of raw values. [#7008](https://github.com/gogs/gogs/pull/7008)
### Fixed ### Fixed

86
go.mod
View File

@@ -1,13 +1,11 @@
module gogs.io/gogs module gogs.io/gogs
go 1.16 go 1.17
require ( require (
github.com/Masterminds/semver/v3 v3.1.1 github.com/Masterminds/semver/v3 v3.1.1
github.com/bgentry/speakeasy v0.1.0 // indirect
github.com/derision-test/go-mockgen v1.3.3 github.com/derision-test/go-mockgen v1.3.3
github.com/editorconfig/editorconfig-core-go/v2 v2.4.5 github.com/editorconfig/editorconfig-core-go/v2 v2.4.5
github.com/fatih/color v1.9.0 // indirect
github.com/go-ldap/ldap/v3 v3.4.4 github.com/go-ldap/ldap/v3 v3.4.4
github.com/go-macaron/binding v1.2.0 github.com/go-macaron/binding v1.2.0
github.com/go-macaron/cache v0.0.0-20190810181446-10f7c57e2196 github.com/go-macaron/cache v0.0.0-20190810181446-10f7c57e2196
@@ -24,15 +22,9 @@ require (
github.com/gogs/go-libravatar v0.0.0-20191106065024-33a75213d0a0 github.com/gogs/go-libravatar v0.0.0-20191106065024-33a75213d0a0
github.com/gogs/minwinsvc v0.0.0-20170301035411-95be6356811a github.com/gogs/minwinsvc v0.0.0-20170301035411-95be6356811a
github.com/google/go-github v17.0.0+incompatible github.com/google/go-github v17.0.0+incompatible
github.com/google/go-querystring v1.0.0 // indirect
github.com/issue9/identicon v1.2.1 github.com/issue9/identicon v1.2.1
github.com/jaytaylor/html2text v0.0.0-20190408195923-01ec452cbe43 github.com/jaytaylor/html2text v0.0.0-20190408195923-01ec452cbe43
github.com/json-iterator/go v1.1.12 github.com/json-iterator/go v1.1.12
github.com/klauspost/compress v1.8.6 // indirect
github.com/klauspost/cpuid v1.2.1 // indirect
github.com/mattn/go-isatty v0.0.13 // indirect
github.com/mattn/go-sqlite3 v2.0.3+incompatible // indirect
github.com/mcuadros/go-version v0.0.0-20190830083331-035f6764e8d2 // indirect
github.com/microcosm-cc/bluemonday v1.0.19 github.com/microcosm-cc/bluemonday v1.0.19
github.com/msteinert/pam v0.0.0-20190215180659-f29b9f28d6f9 github.com/msteinert/pam v0.0.0-20190215180659-f29b9f28d6f9
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646
@@ -42,10 +34,8 @@ require (
github.com/pquerna/otp v1.3.0 github.com/pquerna/otp v1.3.0
github.com/prometheus/client_golang v1.12.2 github.com/prometheus/client_golang v1.12.2
github.com/russross/blackfriday v1.6.0 github.com/russross/blackfriday v1.6.0
github.com/saintfish/chardet v0.0.0-20120816061221-3af4cd4741ca // indirect
github.com/satori/go.uuid v1.2.0 github.com/satori/go.uuid v1.2.0
github.com/sergi/go-diff v1.2.0 github.com/sergi/go-diff v1.2.0
github.com/ssor/bom v0.0.0-20170718123548-6386211fdfcf // indirect
github.com/stretchr/testify v1.8.0 github.com/stretchr/testify v1.8.0
github.com/unknwon/cae v1.0.2 github.com/unknwon/cae v1.0.2
github.com/unknwon/com v1.0.1 github.com/unknwon/com v1.0.1
@@ -56,7 +46,6 @@ require (
golang.org/x/net v0.0.0-20220325170049-de3da57026de golang.org/x/net v0.0.0-20220325170049-de3da57026de
golang.org/x/text v0.3.7 golang.org/x/text v0.3.7
gopkg.in/DATA-DOG/go-sqlmock.v2 v2.0.0-20180914054222-c19298f520d0 gopkg.in/DATA-DOG/go-sqlmock.v2 v2.0.0-20180914054222-c19298f520d0
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
gopkg.in/ini.v1 v1.66.6 gopkg.in/ini.v1 v1.66.6
gopkg.in/macaron.v1 v1.4.0 gopkg.in/macaron.v1 v1.4.0
@@ -72,5 +61,76 @@ require (
xorm.io/xorm v0.8.0 xorm.io/xorm v0.8.0
) )
// +heroku goVersion go1.16 require (
github.com/Azure/go-ntlmssp v0.0.0-20220621081337-cb9428e4ac1e // indirect
github.com/aymerick/douceur v0.2.0 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/bgentry/speakeasy v0.1.0 // indirect
github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc // indirect
github.com/bradfitz/gomemcache v0.0.0-20190329173943-551aad21a668 // indirect
github.com/cespare/xxhash/v2 v2.1.2 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/denisenkom/go-mssqldb v0.12.0 // indirect
github.com/fatih/color v1.9.0 // indirect
github.com/go-asn1-ber/asn1-ber v1.5.4 // indirect
github.com/go-macaron/inject v0.0.0-20160627170012-d8a0b8677191 // indirect
github.com/go-sql-driver/mysql v1.6.0 // indirect
github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe // indirect
github.com/golang-sql/sqlexp v0.0.0-20170517235910-f1bb20e5a188 // indirect
github.com/golang/protobuf v1.5.2 // indirect
github.com/google/go-querystring v1.0.0 // indirect
github.com/google/uuid v1.3.0 // indirect
github.com/gorilla/css v1.0.0 // indirect
github.com/jackc/chunkreader/v2 v2.0.1 // indirect
github.com/jackc/pgconn v1.12.1 // indirect
github.com/jackc/pgio v1.0.0 // indirect
github.com/jackc/pgpassfile v1.0.0 // indirect
github.com/jackc/pgproto3/v2 v2.3.0 // indirect
github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b // indirect
github.com/jackc/pgtype v1.11.0 // indirect
github.com/jackc/pgx/v4 v4.16.1 // indirect
github.com/jinzhu/inflection v1.0.0 // indirect
github.com/jinzhu/now v1.1.5 // indirect
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
github.com/klauspost/compress v1.8.6 // indirect
github.com/klauspost/cpuid v1.2.1 // indirect
github.com/mattn/go-colorable v0.1.6 // indirect
github.com/mattn/go-isatty v0.0.13 // indirect
github.com/mattn/go-runewidth v0.0.9 // indirect
github.com/mattn/go-sqlite3 v2.0.3+incompatible // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
github.com/mcuadros/go-version v0.0.0-20190830083331-035f6764e8d2 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/prometheus/client_model v0.2.0 // indirect
github.com/prometheus/common v0.32.1 // indirect
github.com/prometheus/procfs v0.7.3 // indirect
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 // indirect
github.com/russross/blackfriday/v2 v2.0.1 // indirect
github.com/saintfish/chardet v0.0.0-20120816061221-3af4cd4741ca // indirect
github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect
github.com/ssor/bom v0.0.0-20170718123548-6386211fdfcf // indirect
golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 // indirect
golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886 // indirect
golang.org/x/tools v0.1.10 // indirect
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
google.golang.org/protobuf v1.26.0 // indirect
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
gopkg.in/bufio.v1 v1.0.0-20140618132640-567b2bfa514e // indirect
gopkg.in/redis.v2 v2.3.2 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
lukechampine.com/uint128 v1.1.1 // indirect
modernc.org/cc/v3 v3.36.0 // indirect
modernc.org/ccgo/v3 v3.16.6 // indirect
modernc.org/libc v1.16.7 // indirect
modernc.org/mathutil v1.4.1 // indirect
modernc.org/memory v1.1.1 // indirect
modernc.org/opt v0.1.1 // indirect
modernc.org/strutil v1.1.1 // indirect
modernc.org/token v1.0.0 // indirect
)
// +heroku goVersion go1.17
// +heroku install ./ // +heroku install ./

View File

@@ -1,5 +1,5 @@
//go:build go1.16 //go:build go1.17
// +build go1.16 // +build go1.17
// Copyright 2014 The Gogs Authors. All rights reserved. // Copyright 2014 The Gogs Authors. All rights reserved.
// Use of this source code is governed by a MIT-style // Use of this source code is governed by a MIT-style

View File

@@ -943,7 +943,7 @@ func (pcs *PushCommits) APIFormat(ctx context.Context, usersStore UsersStore, re
// avatars, and falls back to general avatar link. // avatars, and falls back to general avatar link.
// //
// FIXME: This method does not belong to PushCommits, should be a pure template // FIXME: This method does not belong to PushCommits, should be a pure template
// function. // function.
func (pcs *PushCommits) AvatarLink(email string) string { func (pcs *PushCommits) AvatarLink(email string) string {
_, ok := pcs.avatars[email] _, ok := pcs.avatars[email]
if !ok { if !ok {

View File

@@ -11,7 +11,6 @@ import (
"image" "image"
_ "image/jpeg" _ "image/jpeg"
"image/png" "image/png"
"io/ioutil"
"os" "os"
"os/exec" "os/exec"
"path" "path"
@@ -681,7 +680,7 @@ func (repo *Repository) SavePatch(index int64, patch []byte) error {
if err = os.MkdirAll(filepath.Dir(patchPath), os.ModePerm); err != nil { if err = os.MkdirAll(filepath.Dir(patchPath), os.ModePerm); err != nil {
return err return err
} }
if err = ioutil.WriteFile(patchPath, patch, 0644); err != nil { if err = os.WriteFile(patchPath, patch, 0644); err != nil {
return fmt.Errorf("WriteFile: %v", err) return fmt.Errorf("WriteFile: %v", err)
} }
@@ -736,8 +735,8 @@ type MigrateRepoOptions struct {
} }
/* /*
GitHub, GitLab, Gogs: *.wiki.git - GitHub, GitLab, Gogs: *.wiki.git
BitBucket: *.git/wiki - BitBucket: *.git/wiki
*/ */
var commonWikiURLSuffixes = []string{".wiki.git", ".git/wiki"} var commonWikiURLSuffixes = []string{".wiki.git", ".git/wiki"}
@@ -871,7 +870,7 @@ var hooksTpls = map[git.HookName]string{
func createDelegateHooks(repoPath string) (err error) { func createDelegateHooks(repoPath string) (err error) {
for _, name := range git.ServerSideHooks { for _, name := range git.ServerSideHooks {
hookPath := filepath.Join(repoPath, "hooks", string(name)) hookPath := filepath.Join(repoPath, "hooks", string(name))
if err = ioutil.WriteFile(hookPath, if err = os.WriteFile(hookPath,
[]byte(fmt.Sprintf(hooksTpls[name], conf.Repository.ScriptType, conf.AppPath(), conf.CustomConf)), []byte(fmt.Sprintf(hooksTpls[name], conf.Repository.ScriptType, conf.AppPath(), conf.CustomConf)),
os.ModePerm); err != nil { os.ModePerm); err != nil {
return fmt.Errorf("create delegate hook '%s': %v", hookPath, err) return fmt.Errorf("create delegate hook '%s': %v", hookPath, err)
@@ -946,7 +945,7 @@ func getRepoInitFile(tp, name string) ([]byte, error) {
// Use custom file when available. // Use custom file when available.
customPath := filepath.Join(conf.CustomDir(), "conf", relPath) customPath := filepath.Join(conf.CustomDir(), "conf", relPath)
if osutil.IsFile(customPath) { if osutil.IsFile(customPath) {
return ioutil.ReadFile(customPath) return os.ReadFile(customPath)
} }
return embedConf.Files.ReadFile(relPath) return embedConf.Files.ReadFile(relPath)
} }
@@ -972,7 +971,7 @@ func prepareRepoCommit(repo *Repository, tmpDir, repoPath string, opts CreateRep
"CloneURL.SSH": cloneLink.SSH, "CloneURL.SSH": cloneLink.SSH,
"CloneURL.HTTPS": cloneLink.HTTPS, "CloneURL.HTTPS": cloneLink.HTTPS,
} }
if err = ioutil.WriteFile(filepath.Join(tmpDir, "README.md"), if err = os.WriteFile(filepath.Join(tmpDir, "README.md"),
[]byte(com.Expand(string(data), match)), 0644); err != nil { []byte(com.Expand(string(data), match)), 0644); err != nil {
return fmt.Errorf("write README.md: %v", err) return fmt.Errorf("write README.md: %v", err)
} }
@@ -992,7 +991,7 @@ func prepareRepoCommit(repo *Repository, tmpDir, repoPath string, opts CreateRep
} }
if buf.Len() > 0 { if buf.Len() > 0 {
if err = ioutil.WriteFile(filepath.Join(tmpDir, ".gitignore"), buf.Bytes(), 0644); err != nil { if err = os.WriteFile(filepath.Join(tmpDir, ".gitignore"), buf.Bytes(), 0644); err != nil {
return fmt.Errorf("write .gitignore: %v", err) return fmt.Errorf("write .gitignore: %v", err)
} }
} }
@@ -1005,7 +1004,7 @@ func prepareRepoCommit(repo *Repository, tmpDir, repoPath string, opts CreateRep
return fmt.Errorf("getRepoInitFile[%s]: %v", opts.License, err) return fmt.Errorf("getRepoInitFile[%s]: %v", opts.License, err)
} }
if err = ioutil.WriteFile(filepath.Join(tmpDir, "LICENSE"), data, 0644); err != nil { if err = os.WriteFile(filepath.Join(tmpDir, "LICENSE"), data, 0644); err != nil {
return fmt.Errorf("write LICENSE: %v", err) return fmt.Errorf("write LICENSE: %v", err)
} }
} }

View File

@@ -11,7 +11,6 @@ import (
"crypto/tls" "crypto/tls"
"encoding/xml" "encoding/xml"
"io" "io"
"io/ioutil"
"log" "log"
"mime/multipart" "mime/multipart"
"net" "net"
@@ -199,9 +198,9 @@ func (r *Request) SetTransport(transport http.RoundTripper) *Request {
// example: // example:
// //
// func(req *http.Request) (*url.URL, error) { // func(req *http.Request) (*url.URL, error) {
// u, _ := url.ParseRequestURI("http://127.0.0.1:8118") // u, _ := url.ParseRequestURI("http://127.0.0.1:8118")
// return u, nil // return u, nil
// } // }
func (r *Request) SetProxy(proxy func(*http.Request) (*url.URL, error)) *Request { func (r *Request) SetProxy(proxy func(*http.Request) (*url.URL, error)) *Request {
r.setting.Proxy = proxy r.setting.Proxy = proxy
return r return r
@@ -225,11 +224,11 @@ func (r *Request) Body(data interface{}) *Request {
switch t := data.(type) { switch t := data.(type) {
case string: case string:
bf := bytes.NewBufferString(t) bf := bytes.NewBufferString(t)
r.req.Body = ioutil.NopCloser(bf) r.req.Body = io.NopCloser(bf)
r.req.ContentLength = int64(len(t)) r.req.ContentLength = int64(len(t))
case []byte: case []byte:
bf := bytes.NewBuffer(t) bf := bytes.NewBuffer(t)
r.req.Body = ioutil.NopCloser(bf) r.req.Body = io.NopCloser(bf)
r.req.ContentLength = int64(len(t)) r.req.ContentLength = int64(len(t))
} }
return r return r
@@ -286,7 +285,7 @@ func (r *Request) getResponse() (*http.Response, error) {
_ = pw.Close() _ = pw.Close()
}() }()
r.Header("Content-Type", bodyWriter.FormDataContentType()) r.Header("Content-Type", bodyWriter.FormDataContentType())
r.req.Body = ioutil.NopCloser(pr) r.req.Body = io.NopCloser(pr)
} else if len(paramBody) > 0 { } else if len(paramBody) > 0 {
r.Header("Content-Type", "application/x-www-form-urlencoded") r.Header("Content-Type", "application/x-www-form-urlencoded")
r.Body(paramBody) r.Body(paramBody)
@@ -384,7 +383,7 @@ func (r *Request) Bytes() ([]byte, error) {
return nil, nil return nil, nil
} }
defer resp.Body.Close() defer resp.Body.Close()
data, err := ioutil.ReadAll(resp.Body) data, err := io.ReadAll(resp.Body)
if err != nil { if err != nil {
return nil, err return nil, err
} }

View File

@@ -16,8 +16,8 @@ import (
// It is useful to mock "os/exec" functions in tests. When succeeded, it returns // It is useful to mock "os/exec" functions in tests. When succeeded, it returns
// the result produced by the test helper. // the result produced by the test helper.
// The test helper should: // The test helper should:
// 1. Use WantHelperProcess function to determine if it is being called in helper mode. // 1. Use WantHelperProcess function to determine if it is being called in helper mode.
// 2. Call fmt.Fprintln(os.Stdout, ...) to print results for the main test to collect. // 2. Call fmt.Fprintln(os.Stdout, ...) to print results for the main test to collect.
func Exec(helper string, envs ...string) (string, error) { func Exec(helper string, envs ...string) (string, error) {
cmd := exec.Command(os.Args[0], "-test.run="+helper, "--") cmd := exec.Command(os.Args[0], "-test.run="+helper, "--")
cmd.Env = []string{"GO_WANT_HELPER_PROCESS=1"} cmd.Env = []string{"GO_WANT_HELPER_PROCESS=1"}