Skip to content

Commit 74c56ac

Browse files
Harden go tools (#294)
Harden go tools
1 parent f323099 commit 74c56ac

5 files changed

Lines changed: 730 additions & 65 deletions

File tree

.github/workflows/changie-gen.yaml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,19 +39,22 @@ jobs:
3939
echo "No changelog exists for this PR, creating a new one"
4040
fi
4141
42-
- name: Install changie
42+
- name: Set up Go
4343
if: >-
4444
github.event.workflow_run.conclusion == 'success' &&
4545
steps.changelog_check.outputs.exists == 'false'
46-
run: go install github.com/miniscruff/changie@v1.23.0
46+
uses: actions/setup-go@v6
47+
with:
48+
go-version-file: 'src/go.mod'
49+
cache-dependency-path: src/go.sum
4750

4851
- name: Create changie log
4952
if: >-
5053
github.event.workflow_run.conclusion == 'success' &&
5154
steps.changelog_check.outputs.exists == 'false'
5255
env:
5356
CHANGIE_BODY: ${{ github.event.workflow_run.display_title }}
54-
run: changie new --kind Dependency --body "$CHANGIE_BODY"
57+
run: $(cd src && go tool -n changie) new --kind Dependency --body "$CHANGIE_BODY"
5558

5659
- name: Commit & Push changes
5760
if: >-

.github/workflows/release.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,9 @@ jobs:
6262
then
6363
echo "Skip Changie..."
6464
else
65-
go install github.com/miniscruff/changie@v1.23.0
66-
changie batch ${{ steps.version.outputs.RELEASE_VERSION }}
67-
changie merge
65+
CHANGIE=$(cd src && go tool -n changie)
66+
$CHANGIE batch ${{ steps.version.outputs.RELEASE_VERSION }}
67+
$CHANGIE merge
6868
git add .
6969
git commit -m "Cut Release '${{ steps.version.outputs.RELEASE_VERSION }}'"
7070
git push origin HEAD

Taskfile.yml

Lines changed: 6 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -11,38 +11,29 @@ tasks:
1111
desc: Workflow to run in CI
1212
cmds:
1313
- task: workspace
14-
- task: install-gofumpt
15-
- task: install-golangci-lint
1614
- task: lint
1715
- task: test
1816

1917
lint:
2018
desc: Formatting and linting
2119
dir: "{{.SRC_DIR}}"
2220
cmds:
23-
- test -z "$(gofumpt -d -e . | tee /dev/stderr)"
21+
- test -z "$(go tool gofumpt -d -e . | tee /dev/stderr)"
2422
- go vet ./...
25-
- golangci-lint run
23+
- go tool golangci-lint run
2624

2725
fix:
2826
desc: Fix formatting and linting
2927
dir: "{{.SRC_DIR}}"
3028
cmds:
3129
- task: update-opslevel-go
32-
- gofumpt -w .
30+
- go tool gofumpt -w .
3331
- go mod tidy
34-
- golangci-lint run --fix
32+
- go tool golangci-lint run --fix
3533

3634
setup:
37-
desc: Setup linter, formatter, etc. for local testing and CI
35+
desc: Setup workspace for local development
3836
cmds:
39-
- cmd: echo "Installing development tools..."
40-
silent: true
41-
- task: install-changie
42-
- task: install-gofumpt
43-
- task: install-golangci-lint
44-
- cmd: echo "Development tools installed!"
45-
silent: true
4637
- task: workspace
4738

4839
test:
@@ -74,56 +65,12 @@ tasks:
7465
desc: Start Faktory and opslevel-runner in faktory mode
7566
dir: "{{.SRC_DIR}}"
7667
deps:
77-
- install-goreman
7868
- install-faktory
7969
cmds:
80-
- goreman start
70+
- go tool goreman start
8171

8272
# internal (not directly called) tasks
8373

84-
go-install-tool:
85-
desc: go install '{{.GO_TOOL}}' and set GOBIN if not set
86-
internal: true
87-
silent: true
88-
vars:
89-
IS_TOOL_INSTALLED:
90-
sh: which {{.GO_TOOL}} > /dev/null || echo "1"
91-
cmds:
92-
- test -z "{{.IS_TOOL_INSTALLED}}" || echo "Installing {{.GO_TOOL}}..."
93-
- test -z "{{.IS_TOOL_INSTALLED}}" || go install {{.GO_TOOL_PATH}}
94-
- test -n $(go env GOBIN) || go env -w GOBIN=$(go env GOPATH)/bin
95-
- echo " '{{.GO_TOOL}}' is installed."
96-
requires:
97-
vars: [GO_TOOL, GO_TOOL_PATH]
98-
99-
install-changie:
100-
desc: go install "changie"
101-
internal: true
102-
cmds:
103-
- task: go-install-tool
104-
vars: { GO_TOOL: "changie", GO_TOOL_PATH: "github.com/miniscruff/changie@v1.23.0" }
105-
106-
install-gofumpt:
107-
desc: go install "gofumpt"
108-
internal: true
109-
cmds:
110-
- task: go-install-tool
111-
vars: { GO_TOOL: "gofumpt", GO_TOOL_PATH: "mvdan.cc/gofumpt@latest" }
112-
113-
install-golangci-lint:
114-
desc: go install "golangci-lint"
115-
internal: true
116-
cmds:
117-
- task: go-install-tool
118-
vars: { GO_TOOL: "golangci-lint", GO_TOOL_PATH: "github.com/golangci/golangci-lint/cmd/golangci-lint@latest" }
119-
120-
install-goreman:
121-
desc: go install "goreman"
122-
internal: true
123-
cmds:
124-
- task: go-install-tool
125-
vars: { GO_TOOL: "goreman", GO_TOOL_PATH: "github.com/mattn/goreman@latest" }
126-
12774
install-redis:
12875
desc: install "redis-server"
12976
internal: true

0 commit comments

Comments
 (0)