picca/Justfile

51 lines
1.5 KiB
Makefile
Raw Normal View History

2025-07-20 19:00:11 -06:00
alias build := build-release
2025-07-28 23:25:15 -06:00
alias docker := build-docker
alias push := push-docker-latest
2025-07-20 19:00:11 -06:00
version := `cat Cargo.toml | grep -m1 version | awk -F' ' '{print $3}' | sed 's|"||g'`
major_version := shell("echo $1 | awk -F'.' '{print$1}'", version)
2025-07-20 19:00:11 -06:00
uid := `id -u`
gid := `id -g`
date := `date -u --rfc-3339=seconds`
cargo := `which cargo 2> /dev/null`
2025-08-07 00:20:16 -06:00
default: build-docker build-release doc
2025-07-20 19:00:11 -06:00
# main build
build-release:
cargo build --release --features single
cargo build --release --bin picca --features all
2025-07-20 19:00:11 -06:00
# debug build
build-debug:
cargo build --features single
cargo build --bin picca --features all
2025-07-20 19:00:11 -06:00
2025-07-28 23:25:15 -06:00
# build docker images locally
build-docker: clean
2025-07-20 19:00:11 -06:00
docker build -t picca:{{version}} -t picca:{{major_version}} -t picca:latest \
--build-arg VERSION={{version}} --build-arg DATE="{{date}}" -f docker/Dockerfile .
2025-07-28 23:25:15 -06:00
# build images and push to forge
2025-07-20 19:00:11 -06:00
push-docker: build-docker
docker tag picca:{{version}} forge.steck.dev/bryson/picca:{{version}}
docker tag picca:{{version}} forge.steck.dev/bryson/picca:{{major_version}}
docker push -a forge.steck.dev/bryson/picca
docker image rm forge.steck.dev/bryson/picca:{{version}}
docker image rm forge.steck.dev/bryson/picca:{{major_version}}
2025-07-28 23:25:15 -06:00
# push images as well as latest
2025-07-20 19:00:11 -06:00
push-docker-latest: build-docker push-docker
docker tag picca:{{version}} forge.steck.dev/bryson/picca:latest
docker push forge.steck.dev/bryson/picca:latest
docker image rm forge.steck.dev/bryson/picca:latest
2025-08-07 00:20:16 -06:00
doc:
man/generate-docs.sh {{version}}
2025-08-07 00:20:16 -06:00
preview-man: doc
man target/picca.1
clean:
cargo clean