Merge branch 'better-builds' into develop
commit
c411fc5d6c
|
@ -313,6 +313,16 @@ dependencies = [
|
||||||
"cfg-if 1.0.0",
|
"cfg-if 1.0.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "fej"
|
||||||
|
version = "0.0.1"
|
||||||
|
dependencies = [
|
||||||
|
"reqwest",
|
||||||
|
"rocket",
|
||||||
|
"rocket_contrib",
|
||||||
|
"serde",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "filetime"
|
name = "filetime"
|
||||||
version = "0.2.14"
|
version = "0.2.14"
|
||||||
|
@ -1254,16 +1264,6 @@ dependencies = [
|
||||||
"unicode-xid 0.1.0",
|
"unicode-xid 0.1.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "rust-api"
|
|
||||||
version = "0.1.0"
|
|
||||||
dependencies = [
|
|
||||||
"reqwest",
|
|
||||||
"rocket",
|
|
||||||
"rocket_contrib",
|
|
||||||
"serde",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustc_version"
|
name = "rustc_version"
|
||||||
version = "0.2.3"
|
version = "0.2.3"
|
||||||
|
|
8
Makefile
8
Makefile
|
@ -1,6 +1,4 @@
|
||||||
IMAGE := chewingbever/fej
|
IMAGE := chewingbever/fej
|
||||||
TAG := 0.0.1-dev
|
|
||||||
shell := /bin/bash
|
|
||||||
|
|
||||||
|
|
||||||
all: debug
|
all: debug
|
||||||
|
@ -16,11 +14,11 @@ release:
|
||||||
.PHONY: release
|
.PHONY: release
|
||||||
|
|
||||||
image: Dockerfile
|
image: Dockerfile
|
||||||
@ docker build -t '$(IMAGE):$(TAG)' .
|
@ ./build '$(IMAGE)'
|
||||||
.PHONY: image
|
.PHONY: image
|
||||||
|
|
||||||
push: image
|
push:
|
||||||
@ docker push '$(IMAGE):$(TAG)'
|
@ ./build '$(IMAGE)' push
|
||||||
.PHONY: push
|
.PHONY: push
|
||||||
|
|
||||||
# Run
|
# Run
|
||||||
|
|
|
@ -0,0 +1,55 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Simple guard to check input args
|
||||||
|
[[ $# -eq 1 ]] || [[ $# -eq 2 ]] || {
|
||||||
|
>&2 echo "Usage: ./build IMAGE [ACTION]"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Extract current version from Cargo.toml & get current branch
|
||||||
|
patch_version="$(grep -Po '(?<=version = ").*(?=")' Cargo.toml | head -n1)"
|
||||||
|
major_version="$(echo "$patch_version" |
|
||||||
|
sed -E 's/([0-9]+)\.([0-9]+)\.([0-9]+)/\1/')"
|
||||||
|
minor_version="$(echo "$patch_version" |
|
||||||
|
sed -E 's/([0-9]+).([0-9]+).([0-9]+)/\1.\2/')"
|
||||||
|
branch="$(git branch --show-current)"
|
||||||
|
|
||||||
|
if [[ "$branch" = "master" ]]; then
|
||||||
|
tags=("$patch_version" "$minor_version" "$major_version" "latest" )
|
||||||
|
|
||||||
|
elif [[ "$branch" = "develop" ]]; then
|
||||||
|
tags=("$patch_version-dev" "$minor_version-dev" "$major_version-dev" )
|
||||||
|
|
||||||
|
else
|
||||||
|
tags=("$branch")
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
tag_flags=()
|
||||||
|
|
||||||
|
for tag in "${tags[@]}"; do
|
||||||
|
tag_flags+=("-t $1:$tag")
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
# Run the actual build command
|
||||||
|
docker build $tag_flags .
|
||||||
|
|
||||||
|
if [[ "$2" = push ]]; then
|
||||||
|
[[ "$branch" =~ ^develop|master$ ]] || {
|
||||||
|
>&2 echo "You can only push from develop or master."
|
||||||
|
exit 2
|
||||||
|
}
|
||||||
|
|
||||||
|
for tag in "${tags[@]}"; do
|
||||||
|
docker push "$1:$tag"
|
||||||
|
done
|
||||||
|
|
||||||
|
elif [[ "$2" = run ]]; then
|
||||||
|
docker run \
|
||||||
|
--rm \
|
||||||
|
--interactive \
|
||||||
|
--tty \
|
||||||
|
--publish 8000:8000 \
|
||||||
|
"$1:$tags"
|
||||||
|
fi
|
Loading…
Reference in New Issue