alias build := build-release alias docker := build-docker alias push := push-docker-latest version := `cat Cargo.toml | grep -m1 version | awk -F' ' '{print $3}' | sed 's|"||g'` major_version := shell("echo $1 | awk -F'.' '{print$1}'", version) uid := `id -u` gid := `id -g` date := `date -u --rfc-3339=seconds` cargo := `which cargo 2> /dev/null` default: build-docker build-release doc # main build build-release: cargo build --release --features single cargo build --release --bin picca --features all # debug build build-debug: cargo build --features single cargo build --bin picca --features all # build docker images locally build-docker: clean docker build -t picca:{{version}} -t picca:{{major_version}} -t picca:latest \ --build-arg VERSION={{version}} --build-arg DATE="{{date}}" -f docker/Dockerfile . # build images and push to forge 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}} # push images as well as latest 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 doc: man/generate-docs.sh {{version}} preview-man: doc man target/picca.1 clean: cargo clean