aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile16
-rw-r--r--go.mod3
-rw-r--r--go.sum8
-rw-r--r--internal/cmd/gocheck/main.go17
4 files changed, 38 insertions, 6 deletions
diff --git a/Makefile b/Makefile
index d8e0006..14976ed 100644
--- a/Makefile
+++ b/Makefile
@@ -1,44 +1,48 @@
## SPDX-FileCopyrightText: 2019 Shulhan <ms@kilabit.info>
## SPDX-License-Identifier: GPL-3.0-or-later
-.PHONY: all lint test install build serve-doc
-
VERSION:=$(shell git describe --tags)
LDFLAGS:=-ldflags "-s -w -X 'git.sr.ht/~shulhan/ciigo.Version=$(VERSION)'"
DIR_BUILD:=_bin
+.PHONY: all
all: lint build test
+.PHONY: lint
lint:
- -fieldalignment ./...
- -shadow ./...
+ go run ./internal/cmd/gocheck ./...
go vet ./...
+.PHONY: test
test:
find ./testdata -name "*.html" -delete
CGO_ENABLED=1 go test -failfast -v -race -p=1 -coverprofile=cover.out ./...
go tool cover -html=cover.out -o cover.html
+.PHONY: install
install: build
mv _bin/ciigo $(GOBIN)
+.PHONY: run-example
run-example:
go run ./internal/cmd/ciigo-example
+.PHONY: build
build:
mkdir -p $(DIR_BUILD)
CGO_ENABLED=0 go build $(LDFLAGS) -o $(DIR_BUILD) ./cmd/...
+.PHONY: serve-doc
serve-doc:
go run ./cmd/ciigo -address=127.0.0.1:20757 serve _doc
-.PHONY: chroot-setup chroot-test
-
+.PHONY: chroot-setup
chroot-setup:
sudo mkdir -p /var/lib/machines/arch.test
sudo pacstrap -c /var/lib/machines/arch.test base-devel systemd go
sudo mkdir /var/lib/machines/arch.test/root/ciigo
+.PHONY: chroot-test
chroot-test:
sudo rsync -r . /var/lib/machines/arch.test/root/ciigo/
sudo systemd-nspawn --bind=/tmp \
diff --git a/go.mod b/go.mod
index 846549e..36ac941 100644
--- a/go.mod
+++ b/go.mod
@@ -14,8 +14,11 @@ require (
require (
golang.org/x/exp v0.0.0-20250128182459-e0ece0dbea4c // indirect
+ golang.org/x/mod v0.22.0 // indirect
golang.org/x/net v0.34.0 // indirect
+ golang.org/x/sync v0.10.0 // indirect
golang.org/x/sys v0.29.0 // indirect
+ golang.org/x/tools v0.29.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
)
diff --git a/go.sum b/go.sum
index abf2cde..c3e2459 100644
--- a/go.sum
+++ b/go.sum
@@ -2,16 +2,24 @@ git.sr.ht/~shulhan/asciidoctor-go v0.6.2 h1:LCMSlHzsAMbEyruQW/2QYuiUqYru8bplcDqO
git.sr.ht/~shulhan/asciidoctor-go v0.6.2/go.mod h1:7tX6GBgmTWUpGlwBYZK7yTC/u4KAiGsKkzeTbOnVfZk=
git.sr.ht/~shulhan/pakakeh.go v0.60.0 h1:Kf7PTW7uH2TachVY5hMNyt/ZhS9n+VVp9YiQEsZXyVk=
git.sr.ht/~shulhan/pakakeh.go v0.60.0/go.mod h1:PJkRrsHnnnyL5BsvT9Ot52/S3ScNchlAnpOrON1cZT8=
+github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
+github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/yuin/goldmark v1.7.8 h1:iERMLn0/QJeHFhxSt3p6PeN9mGnvIKSpG9YYorDMnic=
github.com/yuin/goldmark v1.7.8/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E=
github.com/yuin/goldmark-meta v1.1.0 h1:pWw+JLHGZe8Rk0EGsMVssiNb/AaPMHfSRszZeUeiOUc=
github.com/yuin/goldmark-meta v1.1.0/go.mod h1:U4spWENafuA7Zyg+Lj5RqK/MF+ovMYtBvXi1lBb2VP0=
golang.org/x/exp v0.0.0-20250128182459-e0ece0dbea4c h1:KL/ZBHXgKGVmuZBZ01Lt57yE5ws8ZPSkkihmEyq7FXc=
golang.org/x/exp v0.0.0-20250128182459-e0ece0dbea4c/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU=
+golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4=
+golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0=
golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k=
+golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
+golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/tools v0.29.0 h1:Xx0h3TtM9rzQpQuR4dKLrdglAmCEN5Oi+P74JdhdzXE=
+golang.org/x/tools v0.29.0/go.mod h1:KMQVMRsVxU6nHCFXrBPhDB8XncLNLM0lIy/F14RP588=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
diff --git a/internal/cmd/gocheck/main.go b/internal/cmd/gocheck/main.go
new file mode 100644
index 0000000..cb9d378
--- /dev/null
+++ b/internal/cmd/gocheck/main.go
@@ -0,0 +1,17 @@
+// SPDX-FileCopyrightText: 2024 M. Shulhan <ms@kilabit.info>
+//
+// SPDX-License-Identifier: BSD-3-Clause
+
+// Program gocheck implement go static analysis using [Analyzer] that are not
+// included in the default go vet.
+// See package [lib/goanalysis] for more information.
+//
+// [Analyzer]: https://pkg.go.dev/golang.org/x/tools/go/analysis#hdr-Analyzer
+// [lib/goanalysis]: https://pkg.go.dev/git.sr.ht/~shulhan/pakakeh.go/lib/goanalysis/
+package main
+
+import "git.sr.ht/~shulhan/pakakeh.go/lib/goanalysis"
+
+func main() {
+ goanalysis.Check()
+}