Skip to content

Commit 90c506b

Browse files
authored
Iterate on infrastructure (#524)
Iterate on infrastructure
2 parents 99ffbd8 + 5f6943c commit 90c506b

File tree

6 files changed

+45
-28
lines changed

6 files changed

+45
-28
lines changed

.github/workflows/main.yml

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,17 @@ jobs:
1212
uses: actions/checkout@v1
1313
- name: Download Go modules
1414
run: go mod download
15+
- name: Install tools
16+
run: |
17+
curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.21.0
18+
cd $(mktemp -d)
19+
go mod init tmp
20+
go get github.com/gobuffalo/packr/v2/packr2
21+
go get mvdan.cc/gofumpt/gofumports
1522
- name: Generate
1623
run: |
17-
GO111MODULE=off go get -u github.com/gobuffalo/packr/v2/packr2
18-
make generate
24+
$(go env GOPATH)/bin/packr2
25+
go generate ./...
1926
git diff --exit-code
2027
- name: Build
2128
run: go build ./...
@@ -24,17 +31,16 @@ jobs:
2431
- name: Test
2532
run: go test -race ./...
2633
- name: Lint
27-
run: |
28-
curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- v1.21.0
29-
make lint
34+
run: $(go env GOPATH)/bin/golangci-lint run
3035
- name: Check formatting
3136
run: |
32-
GO111MODULE=off go get -u mvdan.cc/gofumpt/gofumports
33-
make format
37+
find . -name \*.go | xargs $(go env GOPATH)/bin/gofumports -w
3438
git diff --exit-code
3539
- name: Check completions
3640
run: |
37-
make completions
41+
go run . completion bash > completions/chezmoi-completion.bash
42+
go run . completion fish > completions/chezmoi.fish
43+
go run . completion zsh > completions/chezmoi.zsh
3844
git diff --exit-code
3945
macos-ci:
4046
runs-on: macos-latest
@@ -47,11 +53,6 @@ jobs:
4753
uses: actions/checkout@v1
4854
- name: Download Go modules
4955
run: go mod download
50-
- name: Generate
51-
run: |
52-
GO111MODULE=off go get -u github.com/gobuffalo/packr/v2/packr2
53-
make generate
54-
git diff --exit-code
5556
- name: Build
5657
run: go build ./...
5758
- name: Run
@@ -91,10 +92,19 @@ jobs:
9192
uses: actions/checkout@v1
9293
- name: Download Go modules
9394
run: go mod download
95+
- name: Install tools
96+
run: |
97+
curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- v1.21.0
98+
cd $(mktemp -d)
99+
go mod init tmp
100+
go get github.com/gobuffalo/packr/v2/packr2
94101
- name: Generate
95102
run: |
96-
GO111MODULE=off go get -u github.com/gobuffalo/packr/v2/packr2
97-
make generate
103+
$(go env GOPATH)/bin/packr2
104+
go generate ./...
105+
go run . completion bash > completions/chezmoi-completion.bash
106+
go run . completion fish > completions/chezmoi.fish
107+
go run . completion zsh > completions/chezmoi.zsh
98108
git diff --exit-code
99109
- name: Set up Snapcraft
100110
env:

cmd/helps.gen.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cmd/helps.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
package cmd
2+
3+
//go:generate go run github.com/twpayne/chezmoi/internal/extract-helps -i ../docs/REFERENCE.md -o helps.gen.go

docs/CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ text (the output of `chezmoi command --help`) and the website
4545

4646
If you update `docs/REFERENCE.md` you must also run
4747

48-
make generate
48+
go generate ./...
4949

5050
to extract and generate the help text. This will update `cmd/helps.gen.go`.
5151

internal/extract-helps/main.go

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ import (
55
"errors"
66
"flag"
77
"fmt"
8+
"go/format"
89
"io"
910
"io/ioutil"
1011
"os"
11-
"os/exec"
1212
"strings"
1313
"text/tabwriter"
1414
"text/template"
@@ -27,7 +27,7 @@ var (
2727
"printMultiLineString": printMultiLineString,
2828
}
2929

30-
outputTemplate = template.Must(template.New("output").Funcs(funcs).Parse(`//go:generate go run github.com/twpayne/chezmoi/internal/extract-helps -i {{ .InputFile }} -o {{ .OutputFile }}
30+
outputTemplate = template.Must(template.New("output").Funcs(funcs).Parse(`// Code generated by github.com/twpayne/chezmoi/internal/extract-helps. DO NOT EDIT.
3131
3232
package cmd
3333
@@ -38,12 +38,10 @@ type help struct {
3838
3939
var helps = map[string]help{
4040
{{- range $command, $help := .Helps }}
41-
"{{ $command }}": help{
41+
"{{ $command }}": {
42+
long: {{ printMultiLineString $help.Long "\t\t\t" }},
4243
{{- if $help.Example }}
43-
long: {{ printMultiLineString $help.Long "\t\t\t" }},
4444
example: {{ printMultiLineString $help.Example "\t\t\t" }},
45-
{{- else }}
46-
long: {{ printMultiLineString $help.Long "\t\t\t" }},
4745
{{- end }}
4846
},
4947
{{- end }}
@@ -408,10 +406,13 @@ func run() error {
408406
return err
409407
}
410408

411-
cmd := exec.Command("gofmt", "-s")
412-
cmd.Stdin = buf
413-
cmd.Stdout = w
414-
return cmd.Run()
409+
output, err := format.Source(buf.Bytes())
410+
if err != nil {
411+
return err
412+
}
413+
414+
_, err = w.Write(output)
415+
return err
415416
}
416417

417418
func main() {

scripts/install.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/sh
22
set -e
3-
# Code generated by godownloader on 2019-10-05T16:08:39Z. DO NOT EDIT.
3+
# Code generated by godownloader on 2019-12-12T19:33:38Z. DO NOT EDIT.
44
#
55

66
usage() {
@@ -114,6 +114,9 @@ tag_to_version() {
114114
}
115115
adjust_format() {
116116
# change format (tar.gz or zip) based on OS
117+
case ${OS} in
118+
windows) FORMAT=zip ;;
119+
esac
117120
true
118121
}
119122
adjust_os() {

0 commit comments

Comments
 (0)