Skip to content

Commit c275f7b

Browse files
authored
Update config.yml
1 parent ee21f54 commit c275f7b

1 file changed

Lines changed: 49 additions & 11 deletions

File tree

.circleci/config.yml

Lines changed: 49 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ jobs:
88
machine:
99
image: ubuntu-2204:current
1010
environment:
11-
LOCALSTACK_AUTH_TOKEN: ${LOCALSTACK_AUTH_TOKEN}
1211
AWS_DEFAULT_REGION: us-east-1
1312
AWS_REGION: us-east-1
1413
AWS_ACCESS_KEY_ID: test
@@ -21,53 +20,69 @@ jobs:
2120
keys:
2221
- python-deps-{{ checksum "requirements-dev.txt" }}
2322
- python-deps
24-
# - run:
25-
# name: Install Python 3.11
26-
# command: |
27-
# test -d /opt/circleci/.pyenv/versions/3.11.1 || pyenv install 3.11.1
28-
# pyenv global 3.11.1
23+
2924
- run:
3025
name: Install LocalStack CLI + awslocal
3126
command: |
32-
pip3 install localstack awscli-local[ver1]
33-
# echo 'export PATH=$HOME/.local/bin:$PATH' >> "$BASH_ENV"
27+
python3 -m pip install --user --upgrade pip
28+
python3 -m pip install --user localstack awscli-local[ver1]
29+
echo 'export PATH=$HOME/.local/bin:$PATH' >> "$BASH_ENV"
30+
31+
- run:
32+
name: Verify and configure LocalStack token
33+
command: |
34+
source "$BASH_ENV"
35+
if [ -z "${LOCALSTACK_AUTH_TOKEN:-}" ]; then
36+
echo "LOCALSTACK_AUTH_TOKEN is not set in this job."
37+
echo "Set it in CircleCI Project Settings > Environment Variables or via Context."
38+
exit 1
39+
fi
40+
echo "LOCALSTACK_AUTH_TOKEN is present (length=${#LOCALSTACK_AUTH_TOKEN})"
41+
localstack auth set-token "$LOCALSTACK_AUTH_TOKEN"
42+
3443
- run:
3544
name: Start LocalStack
3645
command: |
37-
# source "$BASH_ENV"
46+
source "$BASH_ENV"
3847
docker pull localstack/localstack:latest
3948
localstack start -d
4049
localstack wait -t 60
50+
4151
- run:
4252
name: Install dependencies
4353
command: pip3 install -r requirements-dev.txt --upgrade
54+
4455
- run:
4556
name: Build lambdas
4657
command: deployment/build-lambdas.sh
58+
4759
- run:
4860
name: Deploy infrastructure
4961
command: deployment/awslocal/deploy.sh
62+
5063
- run:
5164
name: Export state
5265
command: |
5366
source "$BASH_ENV"
5467
localstack state export ls-state.zip
68+
5569
- persist_to_workspace:
5670
root: .
5771
paths:
5872
- ls-state.zip
73+
5974
- save_cache:
6075
paths:
6176
- /opt/circleci/.pyenv/versions/3.11.1
6277
key: python-deps-{{ checksum "requirements-dev.txt" }}
78+
6379
- store_artifacts:
6480
path: ls-state.zip
6581

6682
load-state:
6783
machine:
6884
image: ubuntu-2204:current
6985
environment:
70-
LOCALSTACK_AUTH_TOKEN: ${LOCALSTACK_AUTH_TOKEN}
7186
AWS_DEFAULT_REGION: us-east-1
7287
AWS_REGION: us-east-1
7388
AWS_ACCESS_KEY_ID: test
@@ -78,35 +93,58 @@ jobs:
7893
- checkout
7994
- restore_cache:
8095
key: python-deps-
96+
8197
- run:
8298
name: Install LocalStack CLI + awslocal
8399
command: |
84-
pip3 install localstack awscli-local[ver1]
100+
python3 -m pip install --user --upgrade pip
101+
python3 -m pip install --user localstack awscli-local[ver1]
102+
echo 'export PATH=$HOME/.local/bin:$PATH' >> "$BASH_ENV"
103+
104+
- run:
105+
name: Verify and configure LocalStack token
106+
command: |
107+
source "$BASH_ENV"
108+
if [ -z "${LOCALSTACK_AUTH_TOKEN:-}" ]; then
109+
echo "LOCALSTACK_AUTH_TOKEN is not set in this job."
110+
echo "Set it in CircleCI Project Settings > Environment Variables or via Context."
111+
exit 1
112+
fi
113+
echo "LOCALSTACK_AUTH_TOKEN is present (length=${#LOCALSTACK_AUTH_TOKEN})"
114+
localstack auth set-token "$LOCALSTACK_AUTH_TOKEN"
115+
85116
- run:
86117
name: Start LocalStack
87118
command: |
119+
source "$BASH_ENV"
88120
docker pull localstack/localstack:latest
89121
localstack start -d
90122
localstack wait -t 60
123+
91124
- run:
92125
name: Install dependencies
93126
command: pip3 install -r requirements-dev.txt
127+
94128
- attach_workspace:
95129
at: .
130+
96131
- run:
97132
name: Import state
98133
command: |
99134
source "$BASH_ENV"
100135
test -f ls-state.zip && localstack state import ls-state.zip
136+
101137
- run:
102138
name: Run tests
103139
command: pytest tests
140+
104141
- run:
105142
when: on_fail
106143
name: Dump LocalStack logs
107144
command: |
108145
source "$BASH_ENV"
109146
localstack logs | tee localstack.log
147+
110148
- store_artifacts:
111149
path: localstack.log
112150

0 commit comments

Comments
 (0)