mirror of
https://github.com/kennethreitz/bake.git
synced 2026-06-05 23:00:17 +00:00
53 lines
1.3 KiB
Plaintext
53 lines
1.3 KiB
Plaintext
install: install/system install/python
|
|
|
|
install/python: install/system @skip:key=./Pipfile.lock
|
|
pipenv install
|
|
|
|
install/system:
|
|
lazy-brew jq docker-compose
|
|
|
|
docker/bash: docker/build install/system
|
|
docker-compose run --entrypoint=bash bake
|
|
|
|
docker/release: docker/build install/system docker/release/github
|
|
docker-compose push
|
|
|
|
docker/release/github: install/system docker/build
|
|
REGISTRY=${REGISTRY:-docker.pkg.github.com}
|
|
USERNAME=${USERNAME:-kennethreitz}
|
|
|
|
set -ux
|
|
|
|
declare -a IMAGES=('bake:core' 'bake:latest')
|
|
|
|
for IMAGE in "${IMAGES[@]}"; do
|
|
REMOTE_IMAGE="$REGISTRY/$USERNAME/bake/$IMAGE"
|
|
|
|
# Tag the images for GitHub Registry.
|
|
docker tag "$USERNAME/$IMAGE" "$REMOTE_IMAGE"
|
|
|
|
# Push the images to GitHub.
|
|
docker push "$REMOTE_IMAGE"
|
|
done
|
|
|
|
docker/build: install/system
|
|
# Build the images.
|
|
set -ex && docker-compose build
|
|
|
|
|
|
lazy-brew() {
|
|
set -e
|
|
# Install jq if it's not available.
|
|
|
|
if ! which jq > /dev/null; then
|
|
set -ex && brew install jq > /dev/null
|
|
fi
|
|
|
|
# Install requested packages, if they aren't installed.
|
|
for PACKAGE in "$@"; do
|
|
if ! brew info --installed --json | jq 'map(.name) | index( "$PACKAGE" )' > /dev/null; then
|
|
set -ex && brew install "$PACKAGE" > /dev/null
|
|
fi
|
|
done
|
|
}
|