aboutsummaryrefslogtreecommitdiff
path: root/justfile
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--justfile41
1 files changed, 29 insertions, 12 deletions
diff --git a/justfile b/justfile
index 6a9cf4f..da736c9 100644
--- a/justfile
+++ b/justfile
@@ -1,11 +1,17 @@
TEMPDIR := `mktemp -d`
BUILDDIR := "_build"
+ALL_VERSIONS := BUILDDIR / "ALL_VERSIONS"
+NEW_VERSION := BUILDDIR / "NEW_VERSION"
+CURRENT_VERSION := BUILDDIR / "CURRENT_VERSION"
+COMMIT := `git rev-parse --short HEAD`
+TAGS := `git tag -l > _build/ALL_VERSIONS`
+
alias dr := debug-run
alias dt := debug-test
-
-docker tag:
- docker build -t go-git-server:{{tag}} .
+docker part: (new_ver part)
+ new_ver=$(cat {{ NEW_VERSION }}); \
+ docker build --build-arg="version=$new_ver" -t go-git-server:$new_ver .
docker-run:
docker run -it --rm -p 8080:8080 --volume $(pwd)/tokens.csv:/opt/app/etc/tokens.csv go-git-server
@@ -13,19 +19,31 @@ docker-run:
clean:
rm -r {{ BUILDDIR }}
+new_ver part="latest":
+ #!/usr/bin/env bash
+ set -euxo pipefail
+ CURRENT_VER=$(bumpver --last-version patch {{ ALL_VERSIONS }})
+ if [[ {{part}} == "latest" ]];
+ then
+ echo $CURRENT_VER | bumpver patch --prerelease --prerelease-fmt 'latest.$KeyArg commit' -k commit={{COMMIT}} - > {{ NEW_VERSION }}
+ else
+ bumpver {{part}} <(git tag -l) > {{ NEW_VERSION }}
+ fi
+
builddir:
mkdir -p {{ BUILDDIR }}/etc
mkdir -p {{ BUILDDIR }}/bin
+ cp policy.csv auth_model.ini gitserver.yaml {{ BUILDDIR }}/etc/
-release part: build
+release part:
#!/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
+ new_ver=$(cat {{ NEW_VERSION }})
+ current_ver=$(cat {{ CURRENT_VERSION }})
+ # temp light weight tag for building release notes
+ git tag $new_var
echo "v${new_ver} release" > {{ TEMPDIR }}/chglog
- git-chglog $current_ver..$new_ver >> {{ TEMPDIR }}/chglog
+ git-chglog $curent_ver..$new_ver >> {{ TEMPDIR }}/chglog
echo "## Coverage" >> {{ TEMPDIR }}/chglog
echo "" >> {{ TEMPDIR }}/chglog
go tool cover -func={{ TEMPDIR }}/testcover.out >> {{ TEMPDIR }}/chglog
@@ -34,9 +52,8 @@ release part: build
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
+build version: test builddir
+ CGO_ENABLED=0 go build -a -ldflags "-s -X 'main.goGitServerVersion={{version}}'" -o {{ BUILDDIR }}//bin/go-git-server cmd/main.go
push tag="latest" registry="public.ecr.aws/s0f9o2k5": (docker tag)
docker tag go-git-server:latest {{registry}}/go-git-server:{{tag}}