mirror of
https://github.com/kennethreitz/bake.git
synced 2026-06-05 06:46:14 +00:00
83 lines
2.2 KiB
Plaintext
83 lines
2.2 KiB
Plaintext
|
|
REGISTRY=${REGISTRY:-docker.pkg.github.com}
|
|
USERNAME=${USERNAME:-kennethreitz}
|
|
|
|
//: //system //python
|
|
red "System is setup for local development."
|
|
//system: //warn @confirm
|
|
lazy_brew_pretty pipenv bats
|
|
//python: @skip:key=Pipfile.lock //system
|
|
pipenv install --dev
|
|
test: docker/build
|
|
unset BAKEFILE
|
|
docker-compose run --entrypoint bash ci -c 'set -ex && pip3 uninstall -y bake-cli && pip3 install -e . --upgrade && hash -r && cd tests && bats *.bats --pretty'
|
|
release: test //warn @confirm:secure release//pypi docker/push
|
|
|
|
//warn:
|
|
echo
|
|
echo "$(red 'Warning'): You are about to make modifications to your system."
|
|
echo
|
|
|
|
docker/build:
|
|
# Build the images.
|
|
set -ex && docker-compose build
|
|
|
|
docker/bash: @interactive docker/build
|
|
docker-compose run --entrypoint bash bake
|
|
|
|
release//pypi: @interactive //python
|
|
pipenv run python setup.py upload
|
|
|
|
docker/push: docker/build //docker/github //docker/dockerhub
|
|
docker/push/ci: docker/build
|
|
docker-compose push ci
|
|
|
|
//docker/github: docker/build
|
|
set -ux
|
|
|
|
declare -a IMAGES=('red', 'bake:core' 'bake:latest' 'bake:ci')
|
|
|
|
for IMAGE in "${IMAGES[@]}"; do
|
|
bake_step "Pushing $IMAGE..."
|
|
|
|
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/dockerhub: docker/build
|
|
docker-compose push
|
|
|
|
random/python/ip:
|
|
#!/usr/bin/env python
|
|
import requests
|
|
r = requests.get('https://httpbin.org/ip')
|
|
print(r.json()['origin'].split(',')[0])
|
|
|
|
/kr:
|
|
sparkescakesparkles="✨ 🍰 ✨" | pbcopy
|
|
echo "$sparkescakesparkles" | pbcopy
|
|
echo 'KR Copied!' | red --fg cyan
|
|
|
|
lazy_brew_pretty() {
|
|
# Install jq if it's not available.
|
|
|
|
if ! which -s jq; then
|
|
bake_step "Installing jq"
|
|
brew install jq 2>&1 | bake_indent --char $(red '|')
|
|
fi
|
|
set +e
|
|
|
|
# Install requested packages, if they aren't installed.
|
|
for PACKAGE in "${@}"; do
|
|
if ! which -s ${PACKAGE}; then
|
|
bake_step "Installing ${PACKAGE}" --color green
|
|
brew install "${PACKAGE}" 2>&1 | bake_indent --char $(red '|')
|
|
fi
|
|
done
|
|
}
|