Skip to content

Commit

Permalink
Go upgrade 1.23 (#473)
Browse files Browse the repository at this point in the history
* changes in ci for new go versions

* up grading to newer golangci-lint

* debug ci

* debug ci

* debug ci

* add debug statements

* fix docker job

* fix ci

* fix lint

* fix lint
  • Loading branch information
Vibaswan authored Sep 6, 2024
1 parent 794e1fa commit c01c960
Show file tree
Hide file tree
Showing 7 changed files with 42 additions and 45 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ jobs:
python-version: "3.10"
- uses: actions/setup-go@v2
with:
go-version: "1.20"
go-version: "1.21"
- name: Install Protoc
uses: arduino/setup-protoc@v2
with:
Expand Down Expand Up @@ -180,7 +180,7 @@ jobs:
strategy:
max-parallel: 4
matrix:
go-version: ["1.19", "1.20", "1.21"]
go-version: ["1.21", "1.22", "1.23"]
fail-fast: false
steps:
- name: Checkout source
Expand Down
17 changes: 10 additions & 7 deletions do.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@


BLACK_VERSION = "22.1.0"
GO_VERSION = "1.20"
GO_VERSION = "1.21.0"
PROTOC_VERSION = "23.3"

# this is where go and protoc shall be installed (and expected to be present)
Expand Down Expand Up @@ -62,7 +62,7 @@ def get_go(version=GO_VERSION, targz=None):
print("host architecture not supported")
return

print("Installing Go ...")
print("Installing Go ...", targz)

if not os.path.exists(LOCAL_PATH):
os.mkdir(LOCAL_PATH)
Expand Down Expand Up @@ -252,7 +252,10 @@ def testgo():
["go test ./... -v -coverprofile coverage.txt"], capture_output=True
)
os.chdir("..")
result = re.findall(r"coverage:.*\s(\d+)", ret)[0]
result = re.findall(r"coverage:.*\s(\d+)", ret)
result = [x for x in result if int(x) != 0 and int(x) < 100]
result = result[0]
print("result is", int(result))
if int(result) < go_coverage_threshold:
raise Exception(
"Go tests achieved {1}% which is less than Coverage thresold {0}%,".format(
Expand All @@ -272,11 +275,11 @@ def testgo():
def go_lint():
try:
output = run(["go version"], capture_output=True)
if "go1.17" in output or "go1.18" in output:
print("Using older linter version for go version older than 1.19")
version = "1.46.2"
if "go1.20" in output:
print("Using older linter version for go version older than 1.20")
version = "1.55.0"
else:
version = "1.51.1"
version = "1.60.1"

pkg = "go install"
if on_linux() or on_macos():
Expand Down
28 changes: 14 additions & 14 deletions openapiart/common.go
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ func (obj *validation) validationResult() error {
if len(obj.validationErrors) > 0 {
errors := strings.Join(obj.validationErrors, "\n")
obj.validationErrors = nil
return fmt.Errorf(errors)
return fmt.Errorf("%s", errors)
}
return nil
}
Expand Down Expand Up @@ -256,13 +256,13 @@ func (obj *validation) under_review(message string) {
func (obj *validation) validateMac(mac string) error {
macSlice := strings.Split(mac, ":")
if len(macSlice) != 6 {
return fmt.Errorf(fmt.Sprintf("Invalid Mac address %s", mac))
return fmt.Errorf("Invalid Mac address %s", mac)
}
octInd := []string{"0th", "1st", "2nd", "3rd", "4th", "5th"}
for ind, val := range macSlice {
num, err := strconv.ParseUint(val, 16, 32)
if err != nil || num > 255 {
return fmt.Errorf(fmt.Sprintf("Invalid Mac address at %s octet in %s mac", octInd[ind], mac))
return fmt.Errorf("Invalid Mac address at %s octet in %s mac", octInd[ind], mac)
}
}
return nil
Expand All @@ -271,13 +271,13 @@ func (obj *validation) validateMac(mac string) error {
func (obj *validation) validateIpv4(ip string) error {
ipSlice := strings.Split(ip, ".")
if len(ipSlice) != 4 {
return fmt.Errorf(fmt.Sprintf("Invalid Ipv4 address %s", ip))
return fmt.Errorf("Invalid Ipv4 address %s", ip)
}
octInd := []string{"1st", "2nd", "3rd", "4th"}
for ind, val := range ipSlice {
num, err := strconv.ParseUint(val, 10, 32)
if err != nil || num > 255 {
return fmt.Errorf(fmt.Sprintf("Invalid Ipv4 address at %s octet in %s ipv4", octInd[ind], ip))
return fmt.Errorf("Invalid Ipv4 address at %s octet in %s ipv4", octInd[ind], ip)
}
}
return nil
Expand All @@ -288,13 +288,13 @@ func (obj *validation) validateIpv6(ip string) error {
if strings.Count(ip, " ") > 0 || strings.Count(ip, ":") > 7 ||
strings.Count(ip, "::") > 1 || strings.Count(ip, ":::") > 0 ||
strings.Count(ip, ":") == 0 {
return fmt.Errorf(fmt.Sprintf("Invalid ipv6 address %s", ip))
return fmt.Errorf("Invalid ipv6 address %s", ip)
}
if (string(ip[0]) == ":" && string(ip[:2]) != "::") || (string(ip[len(ip)-1]) == ":" && string(ip[len(ip)-2:]) != "::") {
return fmt.Errorf(fmt.Sprintf("Invalid ipv6 address %s", ip))
return fmt.Errorf("Invalid ipv6 address %s", ip)
}
if strings.Count(ip, "::") == 0 && strings.Count(ip, ":") != 7 {
return fmt.Errorf(fmt.Sprintf("Invalid ipv6 address %s", ip))
return fmt.Errorf("Invalid ipv6 address %s", ip)
}
if ip == "::" {
return nil
Expand All @@ -316,7 +316,7 @@ func (obj *validation) validateIpv6(ip string) error {
for ind, val := range ipSlice {
num, err := strconv.ParseUint(val, 16, 64)
if err != nil || num > 65535 {
return fmt.Errorf(fmt.Sprintf("Invalid Ipv6 address at %s octet in %s ipv6", octInd[ind], ip))
return fmt.Errorf("Invalid Ipv6 address at %s octet in %s ipv6", octInd[ind], ip)
}
}

Expand All @@ -326,21 +326,21 @@ func (obj *validation) validateIpv6(ip string) error {
func (obj *validation) validateHex(hex string) error {
matched, err := regexp.MatchString(`^[0-9a-fA-F]+$|^0[x|X][0-9a-fA-F]+$`, hex)
if err != nil || !matched {
return fmt.Errorf(fmt.Sprintf("Invalid hex value %s", hex))
return fmt.Errorf("Invalid hex value %s", hex)
}
return nil
}

func (obj *validation) validateOid(oid string) error {
segments := strings.Split(oid, ".")
if len(segments) < 2 {
return fmt.Errorf(fmt.Sprintf("Invalid oid value %s", oid))
return fmt.Errorf("Invalid oid value %s", oid)
}

for _, segment := range segments {
_, err := strconv.ParseUint(segment, 10, 32)
if err != nil {
return fmt.Errorf(fmt.Sprintf("Invalid oid value %s", oid))
return fmt.Errorf("Invalid oid value %s", oid)
}
}
return nil
Expand All @@ -362,7 +362,7 @@ func (obj *validation) validateSlice(valSlice []string, sliceType string) error
} else if sliceType == "oid" {
err = obj.validateOid(val)
} else {
return fmt.Errorf(fmt.Sprintf("Invalid slice type received <%s>", sliceType))
return fmt.Errorf("Invalid slice type received <%s>", sliceType)
}

if err != nil {
Expand All @@ -371,7 +371,7 @@ func (obj *validation) validateSlice(valSlice []string, sliceType string) error
}
if len(indices) > 0 {
return fmt.Errorf(
fmt.Sprintf("Invalid %s addresses at indices %s", sliceType, strings.Join(indices, ",")),
"Invalid %s addresses at indices %s", sliceType, strings.Join(indices, ","),
)
}
return nil
Expand Down
6 changes: 0 additions & 6 deletions openapiart/openapiartgo.py
Original file line number Diff line number Diff line change
Expand Up @@ -226,12 +226,6 @@ def _write_mod_file(self):
self._write("module {}".format(self._go_sdk_package_dir))
self._write()
self._write("go 1.16")
self._write()
self._write(
"""require (
google.golang.org/grpc v1.65.0
)"""
)
self._close_fp()

def _write_go_file(self):
Expand Down
28 changes: 14 additions & 14 deletions pkg/common.go
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ func (obj *validation) validationResult() error {
if len(obj.validationErrors) > 0 {
errors := strings.Join(obj.validationErrors, "\n")
obj.validationErrors = nil
return fmt.Errorf(errors)
return fmt.Errorf("%s", errors)
}
return nil
}
Expand Down Expand Up @@ -257,13 +257,13 @@ func (obj *validation) under_review(message string) {
func (obj *validation) validateMac(mac string) error {
macSlice := strings.Split(mac, ":")
if len(macSlice) != 6 {
return fmt.Errorf(fmt.Sprintf("Invalid Mac address %s", mac))
return fmt.Errorf("Invalid Mac address %s", mac)
}
octInd := []string{"0th", "1st", "2nd", "3rd", "4th", "5th"}
for ind, val := range macSlice {
num, err := strconv.ParseUint(val, 16, 32)
if err != nil || num > 255 {
return fmt.Errorf(fmt.Sprintf("Invalid Mac address at %s octet in %s mac", octInd[ind], mac))
return fmt.Errorf("Invalid Mac address at %s octet in %s mac", octInd[ind], mac)
}
}
return nil
Expand All @@ -272,13 +272,13 @@ func (obj *validation) validateMac(mac string) error {
func (obj *validation) validateIpv4(ip string) error {
ipSlice := strings.Split(ip, ".")
if len(ipSlice) != 4 {
return fmt.Errorf(fmt.Sprintf("Invalid Ipv4 address %s", ip))
return fmt.Errorf("Invalid Ipv4 address %s", ip)
}
octInd := []string{"1st", "2nd", "3rd", "4th"}
for ind, val := range ipSlice {
num, err := strconv.ParseUint(val, 10, 32)
if err != nil || num > 255 {
return fmt.Errorf(fmt.Sprintf("Invalid Ipv4 address at %s octet in %s ipv4", octInd[ind], ip))
return fmt.Errorf("Invalid Ipv4 address at %s octet in %s ipv4", octInd[ind], ip)
}
}
return nil
Expand All @@ -289,13 +289,13 @@ func (obj *validation) validateIpv6(ip string) error {
if strings.Count(ip, " ") > 0 || strings.Count(ip, ":") > 7 ||
strings.Count(ip, "::") > 1 || strings.Count(ip, ":::") > 0 ||
strings.Count(ip, ":") == 0 {
return fmt.Errorf(fmt.Sprintf("Invalid ipv6 address %s", ip))
return fmt.Errorf("Invalid ipv6 address %s", ip)
}
if (string(ip[0]) == ":" && string(ip[:2]) != "::") || (string(ip[len(ip)-1]) == ":" && string(ip[len(ip)-2:]) != "::") {
return fmt.Errorf(fmt.Sprintf("Invalid ipv6 address %s", ip))
return fmt.Errorf("Invalid ipv6 address %s", ip)
}
if strings.Count(ip, "::") == 0 && strings.Count(ip, ":") != 7 {
return fmt.Errorf(fmt.Sprintf("Invalid ipv6 address %s", ip))
return fmt.Errorf("Invalid ipv6 address %s", ip)
}
if ip == "::" {
return nil
Expand All @@ -317,7 +317,7 @@ func (obj *validation) validateIpv6(ip string) error {
for ind, val := range ipSlice {
num, err := strconv.ParseUint(val, 16, 64)
if err != nil || num > 65535 {
return fmt.Errorf(fmt.Sprintf("Invalid Ipv6 address at %s octet in %s ipv6", octInd[ind], ip))
return fmt.Errorf("Invalid Ipv6 address at %s octet in %s ipv6", octInd[ind], ip)
}
}

Expand All @@ -327,21 +327,21 @@ func (obj *validation) validateIpv6(ip string) error {
func (obj *validation) validateHex(hex string) error {
matched, err := regexp.MatchString(`^[0-9a-fA-F]+$|^0[x|X][0-9a-fA-F]+$`, hex)
if err != nil || !matched {
return fmt.Errorf(fmt.Sprintf("Invalid hex value %s", hex))
return fmt.Errorf("Invalid hex value %s", hex)
}
return nil
}

func (obj *validation) validateOid(oid string) error {
segments := strings.Split(oid, ".")
if len(segments) < 2 {
return fmt.Errorf(fmt.Sprintf("Invalid oid value %s", oid))
return fmt.Errorf("Invalid oid value %s", oid)
}

for _, segment := range segments {
_, err := strconv.ParseUint(segment, 10, 32)
if err != nil {
return fmt.Errorf(fmt.Sprintf("Invalid oid value %s", oid))
return fmt.Errorf("Invalid oid value %s", oid)
}
}
return nil
Expand All @@ -363,7 +363,7 @@ func (obj *validation) validateSlice(valSlice []string, sliceType string) error
} else if sliceType == "oid" {
err = obj.validateOid(val)
} else {
return fmt.Errorf(fmt.Sprintf("Invalid slice type received <%s>", sliceType))
return fmt.Errorf("Invalid slice type received <%s>", sliceType)
}

if err != nil {
Expand All @@ -372,7 +372,7 @@ func (obj *validation) validateSlice(valSlice []string, sliceType string) error
}
if len(indices) > 0 {
return fmt.Errorf(
fmt.Sprintf("Invalid %s addresses at indices %s", sliceType, strings.Join(indices, ",")),
"Invalid %s addresses at indices %s", sliceType, strings.Join(indices, ","),
)
}
return nil
Expand Down
2 changes: 1 addition & 1 deletion pkg/mock_httpserver_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ func (h *bundlerHandler) SetConfig(rbody openapiart.PrefixConfig, r *http.Reques
fmt.Println(e)
_ = err.SetErrors([]string{"internal err 1", "internal err 2", "internal err 3"})
jsonStr, _ := err.Marshal().ToJson()
return nil, fmt.Errorf(jsonStr)
return nil, fmt.Errorf("%s", jsonStr)
}
return response, nil
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/servertests/service_b.handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ func (h *serviceBHandler) GetSingleItem(r *http.Request) (openapiart.GetSingleIt
_ = err.SetCode(code)
_ = err.SetErrors([]string{fmt.Sprintf("not found: id '%s'", id)})
jsonStr, _ := err.Marshal().ToJson()
return nil, fmt.Errorf(jsonStr)
return nil, fmt.Errorf("%s", jsonStr)
}
return result, nil
}
Expand Down

0 comments on commit c01c960

Please sign in to comment.