Skip to content

Commit 412b090

Browse files
committed
Update ops
- Rename .ops/ops.go to .ops/main.go - Remove .golangci.yml - Simplify ops wrapper to use golib.Ops directly - Update ops dependencies
1 parent 7d9d4f0 commit 412b090

10 files changed

Lines changed: 171 additions & 108 deletions

File tree

.github/workflows/main.yml

Lines changed: 80 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,89 @@
1-
name: main
2-
on: [push]
1+
name: check
2+
on:
3+
push:
4+
branches: [main, next]
5+
pull_request:
36
jobs:
4-
op:
5-
runs-on: ${{ matrix.os }}
7+
ubuntu:
68
strategy:
79
matrix:
8-
os: [ubuntu-latest, macos-latest, windows-latest]
910
go: [stable, oldstable]
11+
runs-on: ubuntu-latest
1012
steps:
1113
- uses: actions/checkout@v4
1214
- uses: actions/setup-go@v5
1315
with:
1416
go-version: ${{ matrix.go }}
15-
- run: go install lesiw.io/op@latest
16-
- run: op
17+
- run: go run lesiw.io/op@latest
18+
macos:
19+
needs: ubuntu
20+
strategy:
21+
matrix:
22+
go: [stable, oldstable]
23+
runs-on: macos-latest
24+
steps:
25+
- uses: actions/checkout@v4
26+
- uses: actions/setup-go@v5
27+
with:
28+
go-version: ${{ matrix.go }}
29+
- run: go run lesiw.io/op@latest
30+
windows:
31+
needs: ubuntu
32+
strategy:
33+
matrix:
34+
go: [stable, oldstable]
35+
runs-on: windows-latest
36+
steps:
37+
- uses: actions/checkout@v4
38+
- uses: actions/setup-go@v5
39+
with:
40+
go-version: ${{ matrix.go }}
41+
- run: go run lesiw.io/op@latest
42+
alpine:
43+
needs: ubuntu
44+
strategy:
45+
matrix:
46+
go: [stable, oldstable]
47+
runs-on: ubuntu-latest
48+
steps:
49+
- uses: actions/checkout@v4
50+
- id: go-version
51+
run: |
52+
if [ "${{ matrix.go }}" = "stable" ]; then
53+
echo "version=$(curl -s 'https://go.dev/VERSION?m=text' | head -1)" >> $GITHUB_OUTPUT
54+
else
55+
echo "version=$(curl -s 'https://go.dev/dl/?mode=json' | jq -r '.[1].version')" >> $GITHUB_OUTPUT
56+
fi
57+
- run: |
58+
docker run --rm -v $PWD:/work -w /work -e CI alpine:latest sh -c '
59+
apk add --no-cache build-base curl tar
60+
curl -L "https://go.dev/dl/${{ steps.go-version.outputs.version }}.linux-amd64.tar.gz" | tar -C /usr/local -xz
61+
export PATH=/usr/local/go/bin:$PATH
62+
export PATH=$(go env GOPATH)/bin:$PATH
63+
go run lesiw.io/op@latest
64+
'
65+
freebsd:
66+
needs: ubuntu
67+
strategy:
68+
matrix:
69+
go: [stable, oldstable]
70+
runs-on: ubuntu-latest
71+
steps:
72+
- uses: actions/checkout@v4
73+
- id: go-version
74+
run: |
75+
if [ "${{ matrix.go }}" = "stable" ]; then
76+
echo "version=$(curl -s 'https://go.dev/VERSION?m=text' | head -1)" >> $GITHUB_OUTPUT
77+
else
78+
echo "version=$(curl -s 'https://go.dev/dl/?mode=json' | jq -r '.[1].version')" >> $GITHUB_OUTPUT
79+
fi
80+
- uses: vmactions/freebsd-vm@v1
81+
with:
82+
usesh: true
83+
envs: CI
84+
run: |
85+
pkg install -y curl
86+
curl -L "https://go.dev/dl/${{ steps.go-version.outputs.version }}.freebsd-amd64.tar.gz" | tar -C /usr/local -xz
87+
export PATH=/usr/local/go/bin:$PATH
88+
export PATH=$(go env GOPATH)/bin:$PATH
89+
go run lesiw.io/op@latest

.golangci.yml

Lines changed: 0 additions & 36 deletions
This file was deleted.

.ops/go.mod

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,30 @@
1-
module ops.localhost
1+
module test/ops
22

3-
go 1.24.0
3+
go 1.24.7
44

55
require (
6-
labs.lesiw.io/ops v0.0.0-20250220031357-f371eedb0d12
7-
lesiw.io/ops v0.14.0
6+
labs.lesiw.io/ops v0.0.0-20260209020233-096fb8270357
7+
lesiw.io/ops v0.15.0
88
)
99

1010
require (
11-
golang.org/x/crypto v0.33.0 // indirect
12-
golang.org/x/sync v0.11.0 // indirect
11+
github.com/Antonboom/errname v1.1.1 // indirect
12+
github.com/google/go-cmp v0.7.0 // indirect
13+
golang.org/x/mod v0.30.0 // indirect
14+
golang.org/x/sync v0.18.0 // indirect
15+
golang.org/x/sys v0.38.0 // indirect
16+
golang.org/x/telemetry v0.0.0-20251111182119-bc8e575c7b54 // indirect
17+
golang.org/x/tools v0.39.0 // indirect
18+
lesiw.io/checker v0.12.1-0.20260208011356-b1121c49fa1e // indirect
1319
lesiw.io/clerk v0.2.0 // indirect
14-
lesiw.io/cmdio v0.9.0 // indirect
15-
lesiw.io/cmdio/x/busybox v0.1.0 // indirect
20+
lesiw.io/command v0.0.0-20260126021408-77eb589ec7af // indirect
1621
lesiw.io/defers v0.9.0 // indirect
22+
lesiw.io/errcheck v1.0.0 // indirect
1723
lesiw.io/flag v0.7.0 // indirect
24+
lesiw.io/fs v0.6.0 // indirect
25+
lesiw.io/linelen v0.2.0 // indirect
26+
lesiw.io/plscheck v0.21.0 // indirect
1827
lesiw.io/prefix v0.1.0 // indirect
28+
lesiw.io/tidytypes v0.2.0 // indirect
29+
lesiw.io/zeros v0.3.0 // indirect
1930
)

.ops/go.sum

Lines changed: 36 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,47 @@
1-
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
1+
github.com/Antonboom/errname v1.1.1 h1:bllB7mlIbTVzO9jmSWVWLjxTEbGBVQ1Ff/ClQgtPw9Q=
2+
github.com/Antonboom/errname v1.1.1/go.mod h1:gjhe24xoxXp0ScLtHzjiXp0Exi1RFLKJb0bVBtWKCWQ=
23
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
3-
golang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus=
4-
golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M=
5-
golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w=
6-
golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
7-
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
8-
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
9-
golang.org/x/term v0.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU=
10-
golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s=
4+
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
5+
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
6+
github.com/kisielk/errcheck v1.9.0 h1:9xt1zI9EBfcYBvdU1nVrzMzzUPUtPKs9bVSIM3TAb3M=
7+
github.com/kisielk/errcheck v1.9.0/go.mod h1:kQxWMMVZgIkDq7U8xtG/n2juOjbLgZtedi0D+/VL/i8=
8+
golang.org/x/mod v0.30.0 h1:fDEXFVZ/fmCKProc/yAXXUijritrDzahmwwefnjoPFk=
9+
golang.org/x/mod v0.30.0/go.mod h1:lAsf5O2EvJeSFMiBxXDki7sCgAxEUcZHXoXMKT4GJKc=
10+
golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I=
11+
golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
12+
golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=
13+
golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
14+
golang.org/x/telemetry v0.0.0-20251111182119-bc8e575c7b54 h1:E2/AqCUMZGgd73TQkxUMcMla25GB9i/5HOdLr+uH7Vo=
15+
golang.org/x/telemetry v0.0.0-20251111182119-bc8e575c7b54/go.mod h1:hKdjCMrbv9skySur+Nek8Hd0uJ0GuxJIoIX2payrIdQ=
16+
golang.org/x/tools v0.39.0 h1:ik4ho21kwuQln40uelmciQPp9SipgNDdrafrYA4TmQQ=
17+
golang.org/x/tools v0.39.0/go.mod h1:JnefbkDPyD8UU2kI5fuf8ZX4/yUeh9W877ZeBONxUqQ=
1118
gotest.tools/v3 v3.5.1 h1:EENdUnS3pdur5nybKYIh2Vfgc8IUNBjxDPSjtiJcOzU=
1219
gotest.tools/v3 v3.5.1/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU=
13-
labs.lesiw.io/ops v0.0.0-20250220031357-f371eedb0d12 h1:LTlhmr7P3ND6tyiJtOo5acNRrv70IYFdDe0hdVq0Opk=
14-
labs.lesiw.io/ops v0.0.0-20250220031357-f371eedb0d12/go.mod h1:C9Jk4AQOr5M0NGk2oTkNJwGdX7mISjG+tebn0n3SyII=
20+
labs.lesiw.io/ops v0.0.0-20260209020233-096fb8270357 h1:sD9T8KPASc7f/i3z06GzmtsKCoMVR6iTTHacog3z6gc=
21+
labs.lesiw.io/ops v0.0.0-20260209020233-096fb8270357/go.mod h1:7JXkiyejJH9YPXR0B4AtMZM2IwrFPuknBFcxOr6flr4=
22+
lesiw.io/checker v0.12.1-0.20260208011356-b1121c49fa1e h1:nVVCxGFq3fQIwzYwwno9zVXJUyPU530/XQmCZu5DlJw=
23+
lesiw.io/checker v0.12.1-0.20260208011356-b1121c49fa1e/go.mod h1:NC0RYp20ARqh3ZXTcqbHiLXulFTndAAx46oGJ+yySxY=
1524
lesiw.io/clerk v0.2.0 h1:Rcq19dHx9TRk4Rkpm9Sw/KGySUxrNmPhrcmU2EQhBYo=
1625
lesiw.io/clerk v0.2.0/go.mod h1:WMyvgTe+3Eob36b6KX86MOaxaeNMvv/HZTSsf2Dedhg=
17-
lesiw.io/cmdio v0.9.0 h1:m4soyeXn9Xuelt6UHr4+piFLheb/L4lveJJ8p6PguGE=
18-
lesiw.io/cmdio v0.9.0/go.mod h1:RRxYqFsLgx3JpElt244AGmRdeFGnc/6fbh3fFgcNvnk=
19-
lesiw.io/cmdio/x/busybox v0.1.0 h1:e1G1JJttIcwpGuUki7oLQTx7Ve6BWExe2Cs4aw0kExM=
20-
lesiw.io/cmdio/x/busybox v0.1.0/go.mod h1:PkwZVzE2tTrNI4BNOgiz595SwwF8BAbvI9LSz1P5GJY=
26+
lesiw.io/command v0.0.0-20260126021408-77eb589ec7af h1:rv+at43vBymDCbrHa0sE24529YsAvPv5W0pEH4dXGdg=
27+
lesiw.io/command v0.0.0-20260126021408-77eb589ec7af/go.mod h1:AS26Aa/k30YRCTFdOhZdClaZgcHFNJDMimGZ+NCfAjA=
2128
lesiw.io/defers v0.9.0 h1:Sg7RYbhxfHhXMHclO65MJ4oRbyhfSBSeHQw4YjLr6n0=
2229
lesiw.io/defers v0.9.0/go.mod h1:AP09yGFHxL5vmTVJxkPL33N1hWI4OzHwTEOzilbDZU4=
30+
lesiw.io/errcheck v1.0.0 h1:jVwNVL8YfjXY3xCJ7byHn+s8MwlvxqsuDjV4406Euo8=
31+
lesiw.io/errcheck v1.0.0/go.mod h1:iKZxbcdSpC2cYZ+Pyp/7fEbsvgEHdEqECi0Yb/GkA2g=
2332
lesiw.io/flag v0.7.0 h1:+8rTdoplDMBhOSKok5eKP6ZuLLPTodkDABRY7jfX5JU=
2433
lesiw.io/flag v0.7.0/go.mod h1:bJx6Hir8MAXkNiO6BbrvhwZuaJF4rQWthQ7pc1DlWZY=
25-
lesiw.io/ops v0.14.0 h1:WTdNxlqL2HjDgpDd5VqoaQwKOqvu1CeR1Wi1wk6wJ0E=
26-
lesiw.io/ops v0.14.0/go.mod h1:onq4+252Tz6+DzGMtUiibOm7+KJW+ty8v5OBJ91Yb7M=
34+
lesiw.io/fs v0.6.0 h1:PaJCDCRXnZx+qzxUIV5OVznkpAW0wyxR4CNBRt0X0GY=
35+
lesiw.io/fs v0.6.0/go.mod h1:Ymd7wORG0L+F7DddtEwd+vHDvlZCOgJjKPdb8AXZ33s=
36+
lesiw.io/linelen v0.2.0 h1:TUl3UbKObelz/+xu+vRXGGBDv+489w4gQvakl1HcEw0=
37+
lesiw.io/linelen v0.2.0/go.mod h1:fIC4E7CrM4QX/ipr1NkG+l82Lfzi8X6/1R7e1guYh6I=
38+
lesiw.io/ops v0.15.0 h1:Nzo9r3XAC+M2A2CXw9J5rdTjSkkqhZ5pHZ7FtQc+Te4=
39+
lesiw.io/ops v0.15.0/go.mod h1:onq4+252Tz6+DzGMtUiibOm7+KJW+ty8v5OBJ91Yb7M=
40+
lesiw.io/plscheck v0.21.0 h1:N3uwYsezj8PLeQpQk86mKdXCjfMVogNEX6FOgCzJRvA=
41+
lesiw.io/plscheck v0.21.0/go.mod h1:ETr4dgHsxf0ZUmsdZtnklIiF39TjNdBThJLa5ClxZQg=
2742
lesiw.io/prefix v0.1.0 h1:2Ors12avAiADgMbsQHh27wQmoSI+4aZSW2uTBdDmIZg=
2843
lesiw.io/prefix v0.1.0/go.mod h1:yrUaJpvikavNodwcL64crLnSf3t1NWeNi/vNu5hUi2Y=
44+
lesiw.io/tidytypes v0.2.0 h1:U/MI+Cwm5ShPEBEnKuVHtyU7o46gW4zPUojBUhd+/YM=
45+
lesiw.io/tidytypes v0.2.0/go.mod h1:RiOthB+QiQSCAwPA7SyTO86XN/crZekhwDCfAUivIcA=
46+
lesiw.io/zeros v0.3.0 h1:JtGmWqfNilTK8hm3UGi1TpnKIuLpXbiOEUNuZpBVFzQ=
47+
lesiw.io/zeros v0.3.0/go.mod h1:KTTwOIVEfcHQEnbDnBdLWJJdYG8+GrE3oGvMhPgsieA=

.ops/main.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package main
2+
3+
import (
4+
"os"
5+
6+
"labs.lesiw.io/ops/golib"
7+
"lesiw.io/ops"
8+
)
9+
10+
func main() {
11+
if len(os.Args) < 2 {
12+
os.Args = append(os.Args, "check")
13+
}
14+
ops.Handle(golib.Ops{})
15+
}

.ops/ops.go

Lines changed: 0 additions & 20 deletions
This file was deleted.

clerk.sum

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
11
.editorconfig 3632ddbf531e998e5990a3d4e88b547fea86dd00
2-
.github/workflows/main.yml 62efcdd9a8f00f489693e4f0f916429822dc311f
3-
.golangci.yml 024a396bbe13b652e1c0c871bacf066672a5b18a
2+
.github/workflows/main.yml e7eb16e18077fa46f813a1513744f7f24be2ead3

go.mod

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
module lesiw.io/testdetect
22

3-
go 1.22.0
3+
go 1.24.0
44

55
require (
6-
golang.org/x/sync v0.11.0
7-
golang.org/x/tools v0.30.0
6+
golang.org/x/sync v0.19.0
7+
golang.org/x/tools v0.41.0
88
)
99

10-
require golang.org/x/mod v0.23.0 // indirect
10+
require golang.org/x/mod v0.32.0 // indirect

go.sum

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
22
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
3-
golang.org/x/mod v0.23.0 h1:Zb7khfcRGKk+kqfxFaP5tZqCnDZMjC5VtUBs87Hr6QM=
4-
golang.org/x/mod v0.23.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
5-
golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w=
6-
golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
7-
golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY=
8-
golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY=
3+
golang.org/x/mod v0.32.0 h1:9F4d3PHLljb6x//jOyokMv3eX+YDeepZSEo3mFJy93c=
4+
golang.org/x/mod v0.32.0/go.mod h1:SgipZ/3h2Ci89DlEtEXWUk/HteuRin+HHhN+WbNhguU=
5+
golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4=
6+
golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
7+
golang.org/x/tools v0.41.0 h1:a9b8iMweWG+S0OBnlU36rzLp20z1Rp10w+IY2czHTQc=
8+
golang.org/x/tools v0.41.0/go.mod h1:XSY6eDqxVNiYgezAVqqCeihT4j1U2CCsqvH3WhQpnlg=

main.go

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import (
99
"golang.org/x/tools/go/packages"
1010
)
1111

12-
//nolint:lll
1312
const testingDetector = `// Code generated by lesiw.io/testdetect. DO NOT EDIT.
1413
package %s
1514
@@ -21,7 +20,6 @@ func (t testingDetectorEmbed) Testing() bool { return false }
2120
var _ = (testingDetector{}).testingDetectorEmbed
2221
`
2322

24-
//nolint:lll
2523
const testingDetectorTamperProtection = `
2624
2725
import (
@@ -33,13 +31,17 @@ var testingDetectorCovHack bool
3331
3432
func init() { testingDetectorInit() }
3533
func testingDetectorInit() {
36-
if got, want := (testingDetector{}).Testing(), testing.Testing(); testingDetectorCovHack || got != want {
37-
panic(fmt.Sprintf("bad testingDetector state: got %t, want %t", got, want))
34+
got := (testingDetector{}).Testing()
35+
want := testing.Testing()
36+
if testingDetectorCovHack || got != want {
37+
panic(fmt.Sprintf(
38+
"bad testingDetector state: got %t, want %t",
39+
got, want,
40+
))
3841
}
3942
}`
4043

41-
//nolint:lll
42-
const testingDetectorTest = `// Code generated by lesiw.io/testdetect. DO NOT EDIT.
44+
const testingDetectorTest = `// Code generated by testdetect. DO NOT EDIT.
4345
package %s
4446
4547
func (t testingDetector) Testing() bool { return true }
@@ -72,12 +74,12 @@ func run() error {
7274
}
7375
err = os.WriteFile(
7476
"testing_detector.go",
75-
[]byte(fmt.Sprintf(testingDetector, ins)), 0644,
77+
fmt.Appendf(nil, testingDetector, ins), 0644,
7678
)
7779
if err != nil {
7880
return fmt.Errorf("could not write testing_detector.go: %w", err)
7981
}
80-
data := []byte(fmt.Sprintf(testingDetectorTest, pkg))
82+
data := fmt.Appendf(nil, testingDetectorTest, pkg)
8183
if pkg == "main" {
8284
data = append(data, []byte(testingDetectorTamperProtectionTest)...)
8385
}

0 commit comments

Comments
 (0)