Files
bake/.circleci/config.yml
2019-09-24 12:12:15 -04:00

99 lines
2.3 KiB
YAML

# Python CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-python/ for more details
#
version: 2
jobs:
test:
docker:
- image: kennethreitz/bake:ci
working_directory: /app
steps:
- checkout
- run:
name: $ pipenv install…
command: |
export PIPENV_MAX_SUBPROCESS=128
pipenv install --dev --system --deploy
- run:
name: BATS tests
command: |
cd tests
mkdir -p /app/reports/bats
bats *.bats --tap | tap2xml > "/app/reports/bats/report.xml"
- store_test_results:
path: reports
docker-push:
docker:
- image: kennethreitz/bake:ci
working_directory: /app
steps:
- checkout
- setup_remote_docker:
docker_layer_caching: true
- run: &docker-login
name: $ docker login
command: |
set -u
# docker login --username $DOCKERHUB_USERNAME --password $DOCKERHUB_PASSWORD
# echo "$DOCKERHUB_PASSWORD" | docker login --username $DOCKERHUB_USERNAME --password-stdin
# echo "$GITHUB_TOKEN" | docker login docker.pkg.github.com --username $GITHUB_USERNAME --password-stdin
- run:
name: $ bake docker/push
command: bake docker/push
docker-push-ci:
docker:
- image: kennethreitz/bake:ci
working_directory: /app
steps:
- checkout
- setup_remote_docker:
docker_layer_caching: true
- run: *docker-login
- run:
name: $ docker-compose build ci
command: |
docker-compose build ci
- run:
name: $ docker push
command: |
docker push kennethreitz/bake:ci
workflows:
version: 2
test:
jobs:
- test:
filters:
branches:
ignore:
- master
test-and-docker-push:
jobs:
- test
- docker-push:
requires:
- test
filters:
branches:
only:
- master
tags:
only: /^v.*/
docker-push-ci:
triggers:
- schedule:
cron: "0 * * * *"
filters:
branches:
only:
- master
jobs:
- docker-push-ci