aboutsummaryrefslogtreecommitdiff
path: root/justfile
diff options
context:
space:
mode:
authorMax Resnick <max@ofmax.li>2024-07-31 22:23:05 -0700
committerMax Resnick <max@ofmax.li>2024-07-31 22:23:05 -0700
commit1d913224d3f0ea1381e1704c46b805619d61f19f (patch)
tree34c5295c32fcc5d89127310ed3cbc4538077ecaa /justfile
parentf15e57f847fd6709b2f1fc583e0aa70e1b34b4c6 (diff)
downloadgo-git-server-1d913224d3f0ea1381e1704c46b805619d61f19f.tar.gz
feat: improve debug and release targets
Diffstat (limited to 'justfile')
-rw-r--r--justfile33
1 files changed, 25 insertions, 8 deletions
diff --git a/justfile b/justfile
index e8aa956..6a9cf4f 100644
--- a/justfile
+++ b/justfile
@@ -4,8 +4,8 @@ alias dr := debug-run
alias dt := debug-test
-docker:
- docker build -t go-git-server .
+docker tag:
+ docker build -t go-git-server:{{tag}} .
docker-run:
docker run -it --rm -p 8080:8080 --volume $(pwd)/tokens.csv:/opt/app/etc/tokens.csv go-git-server
@@ -17,13 +17,30 @@ builddir:
mkdir -p {{ BUILDDIR }}/etc
mkdir -p {{ BUILDDIR }}/bin
+release part: build
+ #!/usr/bin/env bash
+ set -euxo pipefail
+ current_ver=$(bumpver {{part}} <(git tag -l))
+ new_ver=$(bumpver {{part}} <(git tag -l))
+ # temp tag for release notes
+ git tag $new_ver
+ echo "v${new_ver} release" > {{ TEMPDIR }}/chglog
+ git-chglog $current_ver..$new_ver >> {{ TEMPDIR }}/chglog
+ echo "## Coverage" >> {{ TEMPDIR }}/chglog
+ echo "" >> {{ TEMPDIR }}/chglog
+ go tool cover -func={{ TEMPDIR }}/testcover.out >> {{ TEMPDIR }}/chglog
+ # end temp tag
+ git tag -d $new_ver
+ git tag --annotate --sign --cleanup=whitespace --file {{ TEMPDIR }}/chglog ${new_ver}
+ git push origin ${new_ver}
+
build: test builddir
cp policy.csv auth_model.ini gitserver.yaml {{ BUILDDIR }}/etc/
CGO_ENABLED=0 go build -a -ldflags '-s' -o {{ BUILDDIR }}//bin/go-git-server cmd/main.go
-push registry="public.ecr.aws/s0f9o2k5": docker
- docker tag go-git-server:latest {{registry}}/go-git-server:latest
- docker push {{registry}}/go-git-server:latest
+push tag="latest" registry="public.ecr.aws/s0f9o2k5": (docker tag)
+ docker tag go-git-server:latest {{registry}}/go-git-server:{{tag}}
+ docker push {{registry}}/go-git-server:{{tag}}
run repo=(TEMPDIR):
go run cmd/main.go -a -r {{repo}}
@@ -34,7 +51,7 @@ test:
go tool cover -func={{ TEMPDIR }}/testcover.out
debug-run:
- dlv debug cmd/main.go -- -s {{justfile_directory()}}/gitserver.yaml -r {{ TEMPDIR }} -t tokens.csv -p policy.csv -m auth_model.ini -a
+ dlv debug cmd/main.go -- -s {{justfile_directory()}}/gitserver.yaml -r {{ TEMPDIR }} -t tokens.csv -p policy.csv -m auth_model.ini -a
local-push: (push "localhost:5000")
@echo "build and push to local dir"
@@ -43,8 +60,8 @@ local-clean:
kustomize build manifests/local | kubectl --context k3d-go-git-cluster delete -f -
local-undeploy:
- kustomize build manifests/base | kubectl --context k3d-go-git-cluster delete -f -
- kustomize build manifests/cgit | kubectl --context k3d-go-git-cluster delete -f -
+ kustomize build manifests/base | kubectl --context k3d-go-git-cluster delete -f -
+ kustomize build manifests/cgit | kubectl --context k3d-go-git-cluster delete -f -
local-deploy:
kustomize build manifests/local | kubectl --context k3d-go-git-cluster apply -f -