pokeapi-api-data/updater/cmd.bash

57 lines
1.9 KiB
Bash
Raw Normal View History

2018-09-15 10:45:12 +02:00
#!/usr/bin/env bash
[ -z "${COMMIT_NAME}" ] && { echo "Need to set COMMIT_NAME"; exit 1; }
[ -z "${COMMIT_EMAIL}" ] && { echo "Need to set COMMIT_EMAIL"; exit 1; }
[ -z "${COMMIT_MESSAGE}" ] && { echo "Need to set COMMIT_MESSAGE"; exit 1; }
[ -z "${REPO_POKEAPI}" ] && { echo "Need to set REPO_POKEAPI"; exit 1; }
[ -z "${REPO_DATA}" ] && { echo "Need to set REPO_DATA"; exit 1; }
[ -z "${BRANCH_NAME}" ] && { echo "Need to set BRANCH_NAME"; exit 1; }
2020-07-11 13:31:00 +02:00
[ -z "${REPO_POKEAPI_CHECKOUT_OBJECT:=master}" ] && { echo "REPO_POKEAPI_CHECKOUT_OBJECT not set, defaulting to \`master\`"; }
2018-09-15 10:45:12 +02:00
set -e
set -o pipefail
set -x
export COMPOSE_INTERACTIVE_NO_CLI=1
2020-04-25 12:32:01 +02:00
dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 &> /dev/null &
2018-09-15 10:45:12 +02:00
2020-07-11 13:31:00 +02:00
git clone "$REPO_POKEAPI" pokeapi
git clone --depth=1 "$REPO_DATA" api-data
2018-09-15 10:45:12 +02:00
# set up the pokeapi side
cd pokeapi
2020-07-11 13:31:00 +02:00
git checkout "$REPO_POKEAPI_CHECKOUT_OBJECT"
git submodule init
git submodule update --remote
2018-09-15 10:45:12 +02:00
docker volume create --name=redis_data
docker volume create --name=pg_data
docker-compose up -d
2019-02-02 22:01:29 +01:00
docker-compose exec -T app python manage.py migrate --settings=config.docker-compose
docker-compose exec -T app sh -c 'echo "from data.v2.build import build_all; build_all()" | python manage.py shell --settings=config.docker-compose'
2018-09-15 10:45:12 +02:00
# set up the data side
cd ../api-data
git branch -D "$BRANCH_NAME" || true
git branch "$BRANCH_NAME"
git checkout "$BRANCH_NAME"
2018-09-15 10:45:12 +02:00
pip install -r requirements.txt
rm -r ./data
ditto clone --src-url http://localhost/ --dest-dir ./data
2018-09-17 08:40:24 +02:00
# (╯°□°)╯ *always* assume magikarp failed and grab it again #clowntown
ditto clone --src-url http://localhost/ --dest-dir ./data --select pokemon/129
2018-09-17 08:40:24 +02:00
ditto analyze --data-dir ./data
2018-09-15 10:45:12 +02:00
# commit and push
git add data
git config user.name "$COMMIT_NAME"
git config user.email "$COMMIT_EMAIL"
if ! git commit -m "$COMMIT_MESSAGE"; then
echo "The generated data doesn't bring any updates"
exit 2
fi
2018-09-15 10:45:12 +02:00
git push -fu origin "$BRANCH_NAME"