SandpointsGitHook/README.md

51 lines
1.7 KiB
Markdown

# Sandpoints git hook
## Initialization & build
`sphook` binary was built like this:
```
go mod init main
go mod vendor
go build -o sphook .
```
The `sphook` executable in root directory of this repo is built on Linux 64bits computer. It should work on common Linux x86_64 virtual server or common Linux x86_64 bare metal computer.
The `sphook` binary is only tested on Linux virtual server and developer's laptop. If you need it for some other arch or operating system, build it, test it and report back or even better do PR here.
UPDATE 22/12/06:
for host running Ubuntu 18.04 and running go1.19.2 on laptop, building `sphook` required:
- cleaning up go.mod so it only has the first line `module ....`
- and deleting go.sum, cleaning cache, getting package cgo and running build like this:
```
rm go.sum
go clean -modcache
go get
go get github.com/pjbgf/sha1cd/cgo
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build .
```
## Hugo's final output directory
`sphook' has hardcoded filepath for Hugo's final output directory:
```
/var/www/html/sandpoints
```
If you want to build it against another directory where Hugo will render its content you should manually find the line:
```
hook.PublicHTMLPath = filepath.Join("/var", "www", "html", "sandpoints")
```
change it there and rebuild it.
## Install `sphook` in Gitea via its web ui
`install_sphook.sh` bash script can be used to install `sphook` to Gitea via its web user interface. If `install_sphook.sh` is made into `post-received` Gitea's hook it will first check if `sphook` is already in `hooks/post-received.d/` directory and if it is not it would install it there. If `sphook` is already there it would delete itself because it is not needed anymore.