11version : 2.1
22orbs :
33 codecov : codecov/codecov@1.0.4
4+ browser-tools : circleci/browser-tools@1.5.3
45jobs :
56 build :
67 docker :
7- - image : circleci /python:3.7.10 -node-browsers
8+ - image : cimg /python:3.10.16 -node
89 environment :
910 TEST_BROWSER : chrome
1011 MYSQL_PASSWORD : secret
1112 MITTAB_DB_HOST : 127.0.0.1
1213 PIPENV_VENV_IN_PROJECT : true
13- - image : circleci /mysql:5.7
14+ - image : cimg /mysql:5.7
1415 environment :
1516 MYSQL_ROOT_PASSWORD : secret
1617 MYSQL_DATABASE : mittab
@@ -23,28 +24,26 @@ jobs:
2324 steps :
2425 - checkout
2526 - restore_cache :
26- key : deps-v2-{{ checksum "Pipfile.lock" }}
27- - run :
28- name : Fix EOL Debian Buster APT sources
29- command : |
30- sudo sed -i 's|http://deb.debian.org/debian|http://archive.debian.org/debian|g' /etc/apt/sources.list
31- sudo sed -i 's|http://security.debian.org/debian-security|http://archive.debian.org/debian-security|g' /etc/apt/sources.list
32- echo 'Acquire::Check-Valid-Until "false";' | sudo tee /etc/apt/apt.conf.d/99no-check-valid
33- sudo apt-get -o Acquire::Check-Valid-Until=false update
27+ key : deps-v3-3.10.16-{{ checksum "Pipfile.lock" }}
28+
29+ - browser-tools/install-chrome
30+ - browser-tools/install-chromedriver
3431 - run :
3532 name : install dependencies
3633 command : |
3734 sudo apt-get update
38- sudo apt-get upgrade -y
3935 sudo apt-get install -y default-mysql-client
40- sudo pip install pipenv
36+ python -m pip install --upgrade pip
37+ python -m pip install --user pipenv
38+ rm -rf .venv
39+ pipenv --python 3.10.16
4140 pipenv install
4241 npm install
4342
4443 - save_cache :
4544 paths :
4645 - .venv
47- key : deps-v2 -{{ checksum "Pipfile.lock" }}
46+ key : deps-v3-3.10.16 -{{ checksum "Pipfile.lock" }}
4847
4948 - run :
5049 # Our primary container isn't MYSQL so run a sleep command until it's ready.
@@ -80,33 +79,29 @@ jobs:
8079 file : ./cov.xml
8180 lint :
8281 docker :
83- - image : circleci /python:3.7.10 -node-browsers
82+ - image : cimg /python:3.10.16 -node
8483 environment :
8584 PIPENV_VENV_IN_PROJECT : true
8685 steps :
8786 - checkout
8887 - restore_cache :
89- key : deps-v2-{{ checksum "Pipfile.lock" }}
90- - run :
91- name : Fix EOL Debian Buster APT sources
92- command : |
93- sudo sed -i 's|http://deb.debian.org/debian|http://archive.debian.org/debian|g' /etc/apt/sources.list
94- sudo sed -i 's|http://security.debian.org/debian-security|http://archive.debian.org/debian-security|g' /etc/apt/sources.list
95- echo 'Acquire::Check-Valid-Until "false";' | sudo tee /etc/apt/apt.conf.d/99no-check-valid
96- sudo apt-get -o Acquire::Check-Valid-Until=false update
88+ key : deps-v3-3.10.16-{{ checksum "Pipfile.lock" }}
9789 - run :
9890 name : install dependencies
9991 command : |
10092 sudo apt-get update
101- sudo apt-get upgrade -y
10293 sudo apt-get install -y default-mysql-client
103- sudo pip install pipenv
94+ python -m pip install --upgrade pip
95+ python -m pip install --user pipenv
96+ # Remove .venv if it exists from cache to avoid version mismatch
97+ rm -rf .venv
98+ pipenv --python 3.10.16
10499 pipenv install
105100 npm install
106101 - save_cache :
107102 paths :
108103 - .venv
109- key : deps-v2 -{{ checksum "Pipfile.lock" }}
104+ key : deps-v3-3.10.16 -{{ checksum "Pipfile.lock" }}
110105 - run :
111106 name : Lint -- Python
112107 command : |
0 commit comments