1 changed files with 86 additions and 30 deletions
@ -1,60 +1,116 @@ |
|||||
|
# Python CircleCI 2.0 configuration file |
||||
|
# |
||||
|
# Check https://circleci.com/docs/2.0/language-python/ for more details |
||||
|
# |
||||
|
version: 2 |
||||
jobs: |
jobs: |
||||
install: |
|
||||
|
build: |
||||
docker: |
docker: |
||||
- image: circleci/python:3.6.10 |
|
||||
- image: circleci/postgres:9.6.2 |
|
||||
|
# specify the version you desire here |
||||
|
# use `-browsers` prefix for selenium tests, e.g. `3.6.1-browsers` |
||||
|
- image: circleci/python:3.6.4 |
||||
|
|
||||
|
# Specify service dependencies here if necessary |
||||
|
# CircleCI maintains a library of pre-built images |
||||
|
# documented at https://circleci.com/docs/2.0/circleci-images/ |
||||
|
# - image: circleci/postgres:9.4 |
||||
|
|
||||
working_directory: ~/repo |
working_directory: ~/repo |
||||
|
|
||||
steps: |
steps: |
||||
- checkout |
- checkout |
||||
|
|
||||
|
# Download and cache dependencies |
||||
- restore_cache: |
- restore_cache: |
||||
keys: |
keys: |
||||
- dependencies-{{ checksum "requirements/dev.txt" }}-{{ checksum "requirements/prod.txt" }} |
|
||||
- dependencies- |
|
||||
|
- v1-dependencies-{{ checksum "requirements/dev.txt" }} |
||||
|
- v1-dependencies- |
||||
|
# fallback to using the latest cache if no exact match is found |
||||
|
|
||||
- run: |
- run: |
||||
name: install python and dependencies |
|
||||
|
name: install dependencies |
||||
command: | |
command: | |
||||
python3 -m venv venv |
python3 -m venv venv |
||||
. venv/bin/activate |
. venv/bin/activate |
||||
pip install -r requirements/dev.txt |
pip install -r requirements/dev.txt |
||||
|
|
||||
- run: |
|
||||
name: db upgrade |
|
||||
environment: |
environment: |
||||
|
CONDUIT_SECRET: 'something-really-secret' |
||||
FLASK_APP: /home/circleci/repo/autoapp.py |
FLASK_APP: /home/circleci/repo/autoapp.py |
||||
FLASK_DEBUG: 1 |
FLASK_DEBUG: 1 |
||||
POSTGRES_USER: postgres |
|
||||
POSTGRES_DB: bdtest |
|
||||
POSTGRES_PASSWORD: somePwd |
|
||||
POSTGRES_PORT: 5432 |
|
||||
DATABASE_URL: postgresql://postgres:somePwd@localhost:5432/postgres |
|
||||
|
|
||||
|
- save_cache: |
||||
|
paths: |
||||
|
- venv |
||||
|
key: v1-dependencies-{{ checksum "requirements/dev.txt" }} |
||||
|
|
||||
|
|
||||
|
|
||||
|
test: |
||||
|
docker: |
||||
|
# specify the version you desire here |
||||
|
# use `-browsers` prefix for selenium tests, e.g. `3.6.1-browsers` |
||||
|
- image: circleci/python:3.6.4 |
||||
|
# Specify service dependencies here if necessary |
||||
|
# CircleCI maintains a library of pre-built images |
||||
|
# documented at https://circleci.com/docs/2.0/circleci-images/ |
||||
|
- image: postgres:9.6.2-alpine |
||||
|
environment: |
||||
|
POSTGRES_USER: myUsr |
||||
|
POSTGRES_PASSOWRD: somePwd |
||||
|
POSTGRES_DB: myUsr |
||||
|
|
||||
|
working_directory: ~/repo |
||||
|
|
||||
|
steps: |
||||
|
- checkout |
||||
|
|
||||
|
# Download and cache dependencies |
||||
|
- restore_cache: |
||||
|
keys: |
||||
|
- v1-dependencies-{{ checksum "requirements/dev.txt" }} |
||||
|
- v1-dependencies- |
||||
|
# fallback to using the latest cache if no exact match is found |
||||
|
|
||||
|
- run: |
||||
|
name: bd upgrade |
||||
command: | |
command: | |
||||
echo $FLASK_APP |
|
||||
echo $FLASK_DEBUG |
|
||||
echo $DATABASE_URL |
|
||||
. venv/bin/activate |
. venv/bin/activate |
||||
|
sleep 1 |
||||
flask db upgrade |
flask db upgrade |
||||
- run: |
|
||||
name: flask test |
|
||||
environment: |
environment: |
||||
|
CONDUIT_SECRET: 'something-really-secret' |
||||
FLASK_APP: /home/circleci/repo/autoapp.py |
FLASK_APP: /home/circleci/repo/autoapp.py |
||||
|
DATABASE_URL: postgresql://myUsr:somePwd@localhost:5432/myUsr |
||||
FLASK_DEBUG: 1 |
FLASK_DEBUG: 1 |
||||
POSTGRES_USER: postgres |
|
||||
POSTGRES_DB: bdtest |
|
||||
POSTGRES_PASSWORD: somePwd |
|
||||
POSTGRES_PORT: 5432 |
|
||||
DATABASE_URL: postgresql://postgres:somePwd@localhost:5432/postgres |
|
||||
TESTENV: "pour tester les var env" |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
# run tests! |
||||
|
# this example uses Django's built-in test-runner |
||||
|
# other common Python testing frameworks include pytest and nose |
||||
|
# https://pytest.org |
||||
|
# https://nose.readthedocs.io |
||||
|
- run: |
||||
|
name: run tests |
||||
command: | |
command: | |
||||
echo $DATABASE_URL |
|
||||
echo $TESTENV |
|
||||
. venv/bin/activate |
. venv/bin/activate |
||||
flask test |
flask test |
||||
|
environment: |
||||
|
CONDUIT_SECRET: 'something-really-secret' |
||||
|
FLASK_APP: /home/circleci/repo/autoapp.py |
||||
|
FLASK_DEBUG: 1 |
||||
|
DATABASE_URL: postgresql://myUsr:somePwd@localhost:5432/myUsr |
||||
|
|
||||
- save_cache: |
- save_cache: |
||||
paths: |
paths: |
||||
- ./venv |
|
||||
key: dependencies-{{ checksum "requirements/dev.txt" }}-{{ checksum "requirements/prod.txt" }} |
|
||||
|
- venv |
||||
|
key: v1-dependencies-{{ checksum "requirements/dev.txt" }} |
||||
workflows: |
workflows: |
||||
version: 2 |
version: 2 |
||||
build-back: |
build-back: |
||||
jobs: |
jobs: |
||||
- install |
|
||||
|
- build |
||||
|
- test: |
||||
|
requires: |
||||
|
- build |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue