From 30be14b9d96c0b0b7b4fa251099eceb5e64b3439 Mon Sep 17 00:00:00 2001 From: Wil T <wil.thieme@protonmail.com> Date: Fri, 6 Sep 2024 12:25:22 -0400 Subject: [PATCH] circleci updates (#1122) * use uv in circleci * use python 3.12 in circleci --- .circleci/config.yml | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 69b7a43726..682c8b0ddb 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -20,46 +20,47 @@ jobs: # Documentation CI docs-build: docker: - - image: cimg/python:3.10 + - image: cimg/python:3.12 steps: - checkout # Download and cache dependencies - restore_cache: keys: - - v2-dependencies-python3.10-{{ checksum "./docs/requirements.txt" }} + - v2-dependencies-python3.12-{{ checksum "./docs/requirements.txt" }} # fallback to using the latest cache if no exact match is found - - v2-dependencies-python3.10- + - v2-dependencies-python3.12- - run: name: Install dependencies # Note that we the circleci node image installs stuff with a user "circleci", rather # than root. So we need to tell npm where to install stuff. command: | - python3 -m venv venv - . venv/bin/activate - pip install -r ./docs/requirements.txt + pip install uv + uv venv + source .venv/bin/activate + uv pip install -r ./docs/requirements.txt - save_cache: paths: - ./venv - key: v2-dependencies-python3.10-{{ checksum "./docs/requirements.txt" }} + key: v2-dependencies-python3.12-{{ checksum "./docs/requirements.txt" }} - run: name: Build docs command: | - . venv/bin/activate + source .venv/bin/activate cd docs/ make deploy_docs cd .. docs-build-deploy: docker: - - image: cimg/python:3.10-node + - image: cimg/python:3.12-node steps: - checkout # Download and cache dependencies - restore_cache: keys: - - v2-dependencies-python3.10-{{ checksum "./docs/requirements.txt" }} + - v2-dependencies-python3.12-{{ checksum "./docs/requirements.txt" }} # fallback to using the latest cache if no exact match is found - - v2-dependencies-python3.10- + - v2-dependencies-python3.12- - run: name: Install dependencies # Note that we the circleci node image installs stuff with a user "circleci", rather @@ -67,13 +68,14 @@ jobs: command: | npm set prefix=/home/circleci/npm npm install -g --silent gh-pages@2.0.1 - python3 -m venv venv - . venv/bin/activate - pip install -r ./docs/requirements.txt + pip install uv + uv venv + source .venv/bin/activate + uv pip install -r ./docs/requirements.txt - save_cache: paths: - ./venv - key: v2-dependencies-python3.10-{{ checksum "./docs/requirements.txt" }} + key: v2-dependencies-python3.12-{{ checksum "./docs/requirements.txt" }} - add_ssh_keys: # This SSH key is "CircleCI Docs" in https://github.com/move-coop/parsons/settings/keys # We need write access to the Parsons repo, so we can push the "gh-pages" branch. @@ -85,7 +87,7 @@ jobs: # (This file tell Github Pages that we want to include all files in docs/, including those # that start with an underscore like _static/). command: | - . venv/bin/activate + source .venv/bin/activate cd docs/ make deploy_docs cd ..