diff options
| author | Max Resnick <max@ofmax.li> | 2025-03-05 22:29:13 -0800 |
|---|---|---|
| committer | Max Resnick <max@ofmax.li> | 2025-03-05 22:29:13 -0800 |
| commit | ce70fb8132e2be112d1661cb77b38cec54d92de6 (patch) | |
| tree | 90acccf0768441abc88849f81d78ad821af78e08 /justfile | |
| parent | f7470290e5f7b9bc4bb11a6faa87dd47f1d7585a (diff) | |
| download | unbound-adblock-config-ce70fb8132e2be112d1661cb77b38cec54d92de6.tar.gz | |
feat: add release tools
Diffstat (limited to '')
| -rw-r--r-- | justfile | 46 |
1 files changed, 28 insertions, 18 deletions
@@ -11,15 +11,11 @@ TAGS := `git tag -l` default: @just --choose -docker-build: new-ver - #!/usr/bin/env bash - set -euxo pipefail +docker-build part="latest": (new-ver part) + #!/usr/bin/env bash + set -euxo pipefail new_ver=$(cat {{ NEW_VERSION }}); \ docker build --build-arg="version=$new_ver" -t unbound-ads:$new_ver . - - - - builddir: mkdir -p {{ BUILDDIR }}/etc @@ -31,6 +27,7 @@ clean: new-ver part="latest": builddir #!/usr/bin/env bash set -euxo pipefail + echo {{part}} echo "{{ TAGS }}" > {{ ALL_VERSIONS }} cat {{ ALL_VERSIONS }} | bumpver --last-version patch - > {{ CURRENT_VERSION }} if [[ {{part}} == "latest" ]]; @@ -42,10 +39,11 @@ new-ver part="latest": builddir fi git-push tag: - git push origin master - git push origin {{ tag }} + new_ver=$(cat {{ NEW_VERSION }}); \ + git push origin master; \ + git push origin {{ tag }} -git-tag-release: +git-build-release: #!/usr/bin/env bash set -euxo pipefail new_ver=$(cat {{ NEW_VERSION }}) @@ -59,11 +57,23 @@ git-tag-release: 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-tag-release: + new_ver=$(cat {{ NEW_VERSION }}); \ + git tag --annotate --sign --cleanup=whitespace --file {{ TEMPDIR }}/chglog ${new_ver} -release part: test builddir (new-ver part) docker-build git-tag-release push +git-tag-clean: + #!/usr/bin/env bash + set -euxo pipefail + for tag in $(git tag -l "*-latest.*.*"); + do + git tag -d $tag; + done +# Release project, create new tags, build container, and push +release part: test builddir (docker-build part) git-build-release git-tag-release push + new_ver=$(cat {{ NEW_VERSION }}); \ + @echo "Version $new_ver has been released!" build version: test builddir CGO_ENABLED=0 go build -a -ldflags "-s -X 'main.Version={{version}}'" -o {{ BUILDDIR }}/bin/unbound-ads main.go @@ -74,16 +84,16 @@ push: @echo "pushed to all endpoints" docker-push registry="public.ecr.aws/s0f9o2k5": - #!/usr/bin/env bash - set -euxo pipefail + #!/usr/bin/env bash + set -euxo pipefail new_ver=$(cat {{ NEW_VERSION }}) docker tag unbound-ads:$new_ver {{registry}}/unbound-ads:$new_ver docker push {{registry}}/unbound-ads:$new_ver - if [[ $new_ver != *"latest"* ]]; - then + if [[ $new_ver != *"latest"* ]]; + then docker tag unbound-ads:$new_ver {{registry}}/unbound-ads:latest - docker push {{registry}}/unbound-ads:$new_ver - fi + docker push {{registry}}/unbound-ads:latest + fi run repo=(TEMPDIR): go run main.go |