33 lines
1.1 KiB
Makefile
33 lines
1.1 KiB
Makefile
|
alias build := build-release
|
||
|
|
||
|
version := `cat Cargo.toml | grep -m1 version | awk -F' ' '{print $3}' | sed 's|"||g'`
|
||
|
major_version := `echo {{version}} | awk -F'.' '{print$1}'`
|
||
|
uid := `id -u`
|
||
|
gid := `id -g`
|
||
|
date := `date -u --rfc-3339=seconds`
|
||
|
cargo := `which cargo 2> /dev/null`
|
||
|
|
||
|
# main build
|
||
|
build-release:
|
||
|
cargo build --release
|
||
|
|
||
|
# debug build
|
||
|
build-debug:
|
||
|
cargo build
|
||
|
|
||
|
build-docker:
|
||
|
docker build -t picca:{{version}} -t picca:{{major_version}} -t picca:latest \
|
||
|
--build-arg VERSION={{version}} --build-arg DATE="{{date}}" -f docker/Dockerfile .
|
||
|
|
||
|
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-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
|