Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move Travis scripts out of yaml #282

Merged
merged 9 commits into from Jan 14, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions .dockerignore
Expand Up @@ -9,3 +9,4 @@
!makefile
!requirements*.txt
!setup.cfg
!.travis.sh
74 changes: 74 additions & 0 deletions .travis.sh
@@ -0,0 +1,74 @@
#!/usr/bin/env bash

set -eo pipefail

if [[ "$TRAVIS_PULL_REQUEST" = "false" ]] && [[ "$TEST_MODE" = "live" ]]; then
echo "Skipping live service CI for branch build" >&2
exit 0
fi

if [[ "$TRAVIS_PULL_REQUEST_SLUG" != "ascoderu/opwen-cloudserver" ]] && [[ "$TEST_MODE" = "live" ]]; then
echo "Skipping live service CI for fork build" >&2
exit 0
fi

case "$1" in
after_failure)
docker-compose ps
ALL=true make logs
;;

after_script)
make stop
;;

after_success)
if [[ "$TEST_MODE" = "local" ]]; then
bash <(curl -s https://codecov.io/bash)
fi
;;

before_deploy)
echo "$DOCKER_PASSWORD" | docker login --username "$DOCKER_USERNAME" --password-stdin
;;

before_install)
sudo curl -fsSL "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose version
;;

deploy)
if [[ "$TEST_MODE" = "live" ]]; then
DOCKER_TAG="$TRAVIS_TAG" make release deploy
fi
;;

install)
export BUILD_TARGET=runtime
make build verify-build
;;

script)
if [[ "$TRAVIS_EVENT_TYPE" = "cron" ]]; then
make renew-cert
exit 0
fi

if [[ "$TEST_MODE" = "live" ]]; then
export REGISTRATION_CREDENTIALS="$GITHUB_AUTH_USERNAME:$GITHUB_AUTH_TOKEN"
export LOKOLE_QUEUE_BROKER_SCHEME="azureservicebus"
else
export REGISTRATION_CREDENTIALS="admin:password"
export LOKOLE_QUEUE_BROKER_SCHEME="amqp"
fi

make start
make integration-tests
;;

*)
echo "Unrecognized command: $1" >&2
exit 1
;;
esac
55 changes: 8 additions & 47 deletions .travis.yml
Expand Up @@ -8,57 +8,18 @@ env:
services:
- docker

before_install:
- |
sudo curl -fsSL "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose version
before_install: ./.travis.sh before_install
install: ./.travis.sh install

script:
- |
if [[ "$TRAVIS_EVENT_TYPE" = "cron" ]]; then
make renew-cert
else
echo "Skipping cert renewal for on-demand build"
fi
if [[ "$TEST_MODE" = "live" ]]; then
export REGISTRATION_CREDENTIALS="$GITHUB_AUTH_USERNAME:$GITHUB_AUTH_TOKEN"
export LOKOLE_QUEUE_BROKER_SCHEME="azureservicebus"
else
export REGISTRATION_CREDENTIALS="admin:password"
export LOKOLE_QUEUE_BROKER_SCHEME="amqp"
fi
if [[ "$TRAVIS_PULL_REQUEST" = "false" ]] && [[ "$TEST_MODE" = "live" ]]; then
echo "Skipping live service test for branch build"
elif [[ "$TRAVIS_PULL_REQUEST_SLUG" != "ascoderu/opwen-cloudserver" ]] && [[ "$TEST_MODE" = "live" ]]; then
echo "Skipping live service test for fork build"
else
set -e
export BUILD_TARGET=runtime
make build verify-build
make start
make integration-tests
fi

after_success:
- |
if [[ "$TEST_MODE" = "local" ]]; then
bash <(curl -s https://codecov.io/bash)
fi

after_failure:
- ALL=true make logs

after_script:
- make stop

before_deploy:
- echo "$DOCKER_PASSWORD" | docker login --username "$DOCKER_USERNAME" --password-stdin
script: ./.travis.sh script
after_success: ./.travis.sh after_success
after_failure: ./.travis.sh after_failure
after_script: ./.travis.sh after_script

before_deploy: ./.travis.sh before_deploy
deploy:
- provider: script
script: DOCKER_TAG="$TRAVIS_TAG" make release deploy
script: ./.travis.sh deploy
on: # yamllint disable rule:truthy
repo: ascoderu/opwen-cloudserver
tags: true
condition: $TEST_MODE = live
2 changes: 1 addition & 1 deletion makefile
Expand Up @@ -59,7 +59,7 @@ clean:
find . -name '__pycache__' -type d -print0 | xargs -0 rm -rf

build:
docker-compose pull --ignore-pull-failures
BUILD_TAG=latest docker-compose pull --ignore-pull-failures
BUILD_TARGET=builder docker-compose build api && \
docker-compose run --no-deps --rm api cat coverage.xml > coverage.xml
docker-compose build
Expand Down