Skip to content

Commit 6641fab

Browse files
authored
Merge pull request #89 from github/windows-ci
Run automatic CI on Windows, too
2 parents 37ddc22 + 6aa6890 commit 6641fab

File tree

2 files changed

+44
-11
lines changed

2 files changed

+44
-11
lines changed

.github/workflows/test.yml

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,32 @@ jobs:
44
test:
55
strategy:
66
matrix:
7-
os: [ubuntu-latest, macos-latest]
7+
os: [ubuntu-latest, macos-latest, windows-latest]
8+
fail-fast: false
89
runs-on: ${{ matrix.os }}
910
steps:
11+
- name: Setup go
12+
uses: actions/setup-go@v2
13+
with:
14+
go-version: '1.17'
15+
1016
- name: Checkout code
1117
uses: actions/checkout@v2
18+
1219
- name: Get full repo history
1320
run: git fetch --prune --unshallow --tags
21+
22+
- name: Download dependencies
23+
shell: bash
24+
run: go mod download
25+
26+
- name: Build
27+
shell: bash
28+
run: |
29+
mkdir -p bin
30+
go build -o bin .
31+
ls -la bin
32+
1433
- name: Test
15-
run: make test
34+
shell: bash
35+
run: go test -race -timeout 60s ./...

git_sizer_test.go

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"os"
1010
"os/exec"
1111
"path/filepath"
12+
"runtime"
1213
"strings"
1314
"testing"
1415
"time"
@@ -22,9 +23,27 @@ import (
2223
"github.com/github/git-sizer/sizes"
2324
)
2425

26+
func sizerExe(t *testing.T) string {
27+
t.Helper()
28+
29+
v := "bin/git-sizer"
30+
switch runtime.GOOS {
31+
case "windows":
32+
v = `bin\git-sizer.exe`
33+
}
34+
35+
v, err := exec.LookPath(v)
36+
require.NoError(t, err)
37+
38+
v, err = filepath.Abs(v)
39+
require.NoError(t, err)
40+
41+
return v
42+
}
43+
2544
// Smoke test that the program runs.
2645
func TestExec(t *testing.T) {
27-
cmd := exec.Command("bin/git-sizer")
46+
cmd := exec.Command(sizerExe(t))
2847
output, err := cmd.CombinedOutput()
2948
assert.NoErrorf(t, err, "command failed; output: %#v", string(output))
3049
}
@@ -133,10 +152,7 @@ func TestRefSelections(t *testing.T) {
133152
repo.CreateReferencedOrphan(t, p.refname)
134153
}
135154

136-
executable, err := exec.LookPath("bin/git-sizer")
137-
require.NoError(t, err)
138-
executable, err = filepath.Abs(executable)
139-
require.NoError(t, err)
155+
executable := sizerExe(t)
140156

141157
for i, p := range []struct {
142158
name string
@@ -316,10 +332,7 @@ func TestRefgroups(t *testing.T) {
316332
repo.CreateReferencedOrphan(t, refname)
317333
}
318334

319-
executable, err := exec.LookPath("bin/git-sizer")
320-
require.NoError(t, err)
321-
executable, err = filepath.Abs(executable)
322-
require.NoError(t, err)
335+
executable := sizerExe(t)
323336

324337
for _, p := range []struct {
325338
name string

0 commit comments

Comments
 (0)