diff options
| author | Max Resnick <max@ofmax.li> | 2024-08-04 22:12:07 -0700 |
|---|---|---|
| committer | Max Resnick <max@ofmax.li> | 2024-08-04 22:12:07 -0700 |
| commit | f3b1eecc68cdabf7296c05fcd9e96317c0c1c8f2 (patch) | |
| tree | f472ad69e129b12e92d27c70a6faf53e2f30e988 /justfile | |
| parent | 1d913224d3f0ea1381e1704c46b805619d61f19f (diff) | |
| download | go-git-server-f3b1eecc68cdabf7296c05fcd9e96317c0c1c8f2.tar.gz | |
feat: add version reporting to server
Diffstat (limited to 'justfile')
| -rw-r--r-- | justfile | 41 |
1 files changed, 29 insertions, 12 deletions
@@ -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}} |