|
3 | 3 | build:
|
4 | 4 | docker:
|
5 | 5 | - image: circleci/python:3.7
|
6 |
| - environment: |
7 |
| - PIPENV_VENV_IN_PROJECT: true |
8 | 6 | steps:
|
9 | 7 | - checkout
|
10 |
| - - run: sudo chown -R circleci:circleci /usr/local/bin |
11 |
| - - run: sudo chown -R circleci:circleci /usr/local/lib/python3.7/site-packages |
12 | 8 | - restore_cache:
|
13 |
| - key: deps-{{ .Branch }}-{{ checksum "Pipfile.lock" }} |
| 9 | + keys: |
| 10 | + - deps-{{ checksum "poetry.lock" }} |
14 | 11 | - run:
|
15 |
| - command: | |
16 |
| - sudo pip install pipenv |
17 |
| - pipenv install --dev --deploy |
| 12 | + name: Install Dependencies |
| 13 | + command: poetry install |
18 | 14 | - save_cache:
|
19 |
| - key: deps-{{ .Branch }}-{{ checksum "Pipfile.lock" }} |
| 15 | + key: deps-{{ checksum "poetry.lock" }} |
20 | 16 | paths:
|
21 |
| - - ".venv" |
22 |
| - - "/usr/local/bin" |
23 |
| - - "/usr/local/lib/python3.7/site-packages" |
| 17 | + - /home/circleci/.cache/pypoetry/virtualenvs |
24 | 18 |
|
25 | 19 | lint:
|
26 | 20 | docker:
|
27 | 21 | - image: circleci/python:3.7
|
28 |
| - environment: |
29 |
| - PIPENV_VENV_IN_PROJECT: true |
30 | 22 | steps:
|
31 | 23 | - checkout
|
32 |
| - - run: sudo chown -R circleci:circleci /usr/local/bin |
33 |
| - - run: sudo chown -R circleci:circleci /usr/local/lib/python3.7/site-packages |
34 | 24 | - restore_cache:
|
35 |
| - key: deps-{{ .Branch }}-{{ checksum "Pipfile.lock" }} |
| 25 | + keys: |
| 26 | + - deps-{{ checksum "poetry.lock" }} |
36 | 27 | - run:
|
37 | 28 | command: |
|
38 |
| - pipenv run flake8 src test |
39 |
| - pipenv run black --check src test |
| 29 | + poetry run flake8 src test |
| 30 | + poetry run black --check src test |
40 | 31 |
|
41 | 32 | test:
|
42 | 33 | docker:
|
43 | 34 | - image: circleci/python:3.7
|
44 |
| - environment: |
45 |
| - PIPENV_VENV_IN_PROJECT: true |
46 | 35 | steps:
|
47 | 36 | - checkout
|
48 |
| - - run: sudo chown -R circleci:circleci /usr/local/bin |
49 |
| - - run: sudo chown -R circleci:circleci /usr/local/lib/python3.7/site-packages |
50 | 37 | - restore_cache:
|
51 |
| - key: deps-{{ .Branch }}-{{ checksum "Pipfile.lock" }} |
| 38 | + keys: |
| 39 | + - deps-{{ checksum "poetry.lock" }} |
52 | 40 | - run:
|
53 |
| - command: pipenv run pytest |
| 41 | + name: Run Tests |
| 42 | + command: poetry run pytest |
54 | 43 |
|
55 | 44 | release:
|
56 | 45 | docker:
|
57 | 46 | - image: circleci/python:3.7
|
58 |
| - environment: |
59 |
| - PIPENV_VENV_IN_PROJECT: true |
60 | 47 | steps:
|
61 | 48 | - checkout
|
62 |
| - - run: sudo chown -R circleci:circleci /usr/local/bin |
63 |
| - - run: sudo chown -R circleci:circleci /usr/local/lib/python3.7/site-packages |
| 49 | + - restore_cache: |
| 50 | + keys: |
| 51 | + - deps-{{ checksum "poetry.lock" }} |
64 | 52 | - run:
|
65 |
| - name: Install release dependencies |
| 53 | + name: Publish to SAR |
66 | 54 | command: |
|
67 |
| - sudo pip install -q -U aws-sam-cli |
68 |
| - pipenv lock --requirements --keep-outdated > ./src/requirements.txt |
69 |
| - sam validate |
70 |
| - sam build |
71 |
| - sam package --s3-bucket nr-serverless-applications --output-template-file packaged.yaml |
72 |
| - sam publish --region us-east-1 --template packaged.yaml |
| 55 | + poetry export -o src/requirements.txt --without-hashes |
| 56 | + poetry run sam validate |
| 57 | + poetry run sam build |
| 58 | + poetry run sam package --s3-bucket nr-serverless-applications --output-template-file packaged.yaml |
| 59 | + poetry sam publish --region us-east-1 --template packaged.yaml |
73 | 60 |
|
74 | 61 | workflows:
|
75 | 62 | version: 2
|
|
0 commit comments