Skip to content

Commit a54ec74

Browse files
Copilotmattfarina
andauthored
Update to Go 1.23-1.25, Actions v6, and golangci-lint v2.6.2 (#117)
Changes made using Copilot Code Agent (AI) The biggest changes were: 1. Using newer versions of the setup actions and Go itself 2. Change to using t.TempDir in tests 3. Updates for golangci-lint Closes #117 Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Matt Farina <matt.farina@suse.com>
1 parent 10fceb8 commit a54ec74

18 files changed

+98
-324
lines changed

.github/workflows/linux-tests.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,17 @@ jobs:
99
test:
1010
strategy:
1111
matrix:
12-
go-version: [1.16.x, 1.17.x, 1.18.x]
12+
go-version: [1.23.x, 1.24.x, 1.25.x]
1313
platform:
1414
- ubuntu-latest
1515
runs-on: ${{ matrix.platform }}
1616
steps:
1717
- name: Install Go
18-
uses: actions/setup-go@v1
18+
uses: actions/setup-go@v6
1919
with:
2020
go-version: ${{ matrix.go-version }}
2121
- name: Checkout code
22-
uses: actions/checkout@v1
22+
uses: actions/checkout@v6
2323
- name: Lint
2424
run: make lint
2525
- name: Install dependencies

.github/workflows/windows-tests.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,17 @@ jobs:
99
test:
1010
strategy:
1111
matrix:
12-
go-version: [1.16.x, 1.17.x, 1.18.x]
12+
go-version: [1.23.x, 1.24.x, 1.25.x]
1313
platform:
1414
- windows-latest
1515
runs-on: ${{ matrix.platform }}
1616
steps:
1717
- name: Install Go
18-
uses: actions/setup-go@v1
18+
uses: actions/setup-go@v6
1919
with:
2020
go-version: ${{ matrix.go-version }}
2121
- name: Checkout code
22-
uses: actions/checkout@v1
22+
uses: actions/checkout@v6
2323
- name: Install dependencies
2424
shell: powershell
2525
run: |
Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,27 @@
1+
version: 2
2+
13
linters:
24
disable-all: true
35
enable:
4-
- deadcode
56
- dupl
6-
- gofmt
7-
- goimports
8-
- gosimple
97
- govet
108
- ineffassign
119
- nakedret
1210
- revive
13-
- structcheck
1411
- unused
15-
- varcheck
1612
- staticcheck
1713

14+
formatters:
15+
enable:
16+
- gofmt
17+
- goimports
18+
1819
linters-settings:
20+
dupl:
21+
threshold: 400
22+
23+
formatters-settings:
1924
gofmt:
2025
simplify: true
2126
goimports:
22-
local-prefixes: helm.sh/helm/v3
23-
dupl:
24-
threshold: 400
27+
local-prefixes: github.com/Masterminds/vcs

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
GOLANGCI_LINT_VERSION?=1.45.0
2-
GOLANGCI_LINT_SHA256?=ca06a2b170f41a9e1e34d40ca88b15b8fed2d7e37310f0c08b7fc244c34292a9
1+
GOLANGCI_LINT_VERSION?=2.6.2
2+
GOLANGCI_LINT_SHA256?=499c864b5fd9841c4fa8e80b5e2be30f73f085cf186f1b111ff81a2783b7de12
33
GOLANGCI_LINT=/usr/local/bin/golangci-lint
44

55
$(GOLANGCI_LINT):

bzr_test.go

Lines changed: 7 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
package vcs
22

33
import (
4-
"io/ioutil"
4+
"os"
55
"path/filepath"
6+
"testing"
67
"time"
7-
88
//"log"
9-
"os"
10-
"testing"
119
)
1210

1311
// Canary test to ensure BzrRepo implements the Repo interface.
@@ -22,16 +20,7 @@ func TestBzr(t *testing.T) {
2220
t.Skip("Skipping bzr tests")
2321
}
2422

25-
tempDir, err := ioutil.TempDir("", "go-vcs-bzr-tests")
26-
if err != nil {
27-
t.Error(err)
28-
}
29-
defer func() {
30-
err = os.RemoveAll(tempDir)
31-
if err != nil {
32-
t.Error(err)
33-
}
34-
}()
23+
tempDir := t.TempDir()
3524

3625
repo, err := NewBzrRepo("https://launchpad.net/govcstestbzrrepo", tempDir+"/govcstestbzrrepo")
3726
if err != nil {
@@ -206,16 +195,7 @@ func TestBzr(t *testing.T) {
206195
t.Error("Bzr didn't return expected ErrRevisionUnavailable")
207196
}
208197

209-
tempDir2, err := ioutil.TempDir("", "go-vcs-bzr-tests-export")
210-
if err != nil {
211-
t.Fatalf("Error creating temp directory: %s", err)
212-
}
213-
defer func() {
214-
err = os.RemoveAll(tempDir2)
215-
if err != nil {
216-
t.Error(err)
217-
}
218-
}()
198+
tempDir2 := t.TempDir()
219199

220200
exportDir := filepath.Join(tempDir2, "src")
221201

@@ -246,16 +226,7 @@ func TestBzrCheckLocal(t *testing.T) {
246226

247227
// Verify repo.CheckLocal fails for non-Bzr directories.
248228
// TestBzr is already checking on a valid repo
249-
tempDir, err := ioutil.TempDir("", "go-vcs-bzr-tests")
250-
if err != nil {
251-
t.Error(err)
252-
}
253-
defer func() {
254-
err = os.RemoveAll(tempDir)
255-
if err != nil {
256-
t.Error(err)
257-
}
258-
}()
229+
tempDir := t.TempDir()
259230

260231
repo, _ := NewBzrRepo("", tempDir)
261232
if repo.CheckLocal() {
@@ -275,16 +246,7 @@ func TestBzrPing(t *testing.T) {
275246
t.Skip("Skipping bzr tests")
276247
}
277248

278-
tempDir, err := ioutil.TempDir("", "go-vcs-bzr-tests")
279-
if err != nil {
280-
t.Error(err)
281-
}
282-
defer func() {
283-
err = os.RemoveAll(tempDir)
284-
if err != nil {
285-
t.Error(err)
286-
}
287-
}()
249+
tempDir := t.TempDir()
288250

289251
repo, err := NewBzrRepo("https://launchpad.net/govcstestbzrrepo", tempDir)
290252
if err != nil {
@@ -312,17 +274,8 @@ func TestBzrInit(t *testing.T) {
312274
t.Skip("Skipping bzr tests")
313275
}
314276

315-
tempDir, err := ioutil.TempDir("", "go-vcs-bzr-tests")
277+
tempDir := t.TempDir()
316278
repoDir := tempDir + "/repo"
317-
if err != nil {
318-
t.Error(err)
319-
}
320-
defer func() {
321-
err = os.RemoveAll(tempDir)
322-
if err != nil {
323-
t.Error(err)
324-
}
325-
}()
326279

327280
repo, err := NewBzrRepo(repoDir, repoDir)
328281
if err != nil {

errors.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,18 +44,18 @@ import (
4444

4545
var (
4646
// ErrWrongVCS is returned when an action is tried on the wrong VCS.
47-
ErrWrongVCS = errors.New("Wrong VCS detected")
47+
ErrWrongVCS = errors.New("wrong VCS detected")
4848

4949
// ErrCannotDetectVCS is returned when VCS cannot be detected from URI string.
50-
ErrCannotDetectVCS = errors.New("Cannot detect VCS")
50+
ErrCannotDetectVCS = errors.New("cannot detect VCS")
5151

5252
// ErrWrongRemote occurs when the passed in remote does not match the VCS
5353
// configured endpoint.
54-
ErrWrongRemote = errors.New("The Remote does not match the VCS endpoint")
54+
ErrWrongRemote = errors.New("the remote does not match the VCS endpoint")
5555

5656
// ErrRevisionUnavailable happens when commit revision information is
5757
// unavailable.
58-
ErrRevisionUnavailable = errors.New("Revision unavailable")
58+
ErrRevisionUnavailable = errors.New("revision unavailable")
5959
)
6060

6161
// RemoteError is returned when an operation fails against a remote repo

git.go

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package vcs
33
import (
44
"bytes"
55
"encoding/xml"
6-
"io/ioutil"
76
"os"
87
"os/exec"
98
"path/filepath"
@@ -377,10 +376,9 @@ func EscapePathSeparator(path string) string {
377376
// See: https://blogs.msdn.microsoft.com/twistylittlepassagesallalike/2011/04/23/everyone-quotes-command-line-arguments-the-wrong-way/
378377
// e.g., C:\foo\bar\ -> C:\\\foo\\\bar\\\
379378
// used with --prefix, like this: --prefix=C:\foo\bar\ -> --prefix=C:\\\foo\\\bar\\\
380-
return strings.Replace(path,
379+
return strings.ReplaceAll(path,
381380
string(os.PathSeparator),
382-
string(os.PathSeparator)+string(os.PathSeparator)+string(os.PathSeparator),
383-
-1)
381+
string(os.PathSeparator)+string(os.PathSeparator)+string(os.PathSeparator))
384382
default:
385383
return path
386384
}
@@ -412,8 +410,7 @@ func (s *GitRepo) ExportDir(dir string) error {
412410
}
413411

414412
// and now, the horror of submodules
415-
handleSubmodules(s, dir)
416-
413+
out, err = handleSubmodules(s, dir)
417414
s.log(out)
418415
if err != nil {
419416
return NewLocalError("Error while exporting submodule sources", err, string(out))
@@ -425,7 +422,7 @@ func (s *GitRepo) ExportDir(dir string) error {
425422
// isDetachedHead will detect if git repo is in "detached head" state.
426423
func isDetachedHead(dir string) (bool, error) {
427424
p := filepath.Join(dir, ".git", "HEAD")
428-
contents, err := ioutil.ReadFile(p)
425+
contents, err := os.ReadFile(p)
429426
if err != nil {
430427
return false, err
431428
}

0 commit comments

Comments
 (0)