version: 2.1 orbs: node: circleci/node@5.0.2 commands: run-tox: description: "Run tox" parameters: version: type: string sphinx-version: type: string default: "latest" steps: - checkout # We cannot upgrade to Tox4 because running generative environments doesn't work. # I guess it has changed its syntax or similar. # $ tox run -e "py310-sphinx{50,51}" # ROOT: HandledError| provided environments not found in configuration file: ['51}'] - run: pip install --user 'tox~=3.27' - run: tox -e "<>-sphinx{<>}" run-build: description: "Ensure built assets are up to date" steps: - checkout - node/install: node-version: '14.20' - run: npm ci - run: npm run build - run: name: Ensure built assets are up to date command: | if [[ `git status sphinx_rtd_theme/ --porcelain` ]] then echo "ERROR: assets are out of date. Make sure to run 'npm run build' on your branch." git status sphinx_rtd_theme/ --porcelain exit 1 fi jobs: build: docker: - image: 'cimg/python:3.9-node' steps: - run-build: {} py36: docker: - image: 'cimg/python:3.6' steps: - run-tox: version: py36 sphinx-version: "50,51,52,53" py37: docker: - image: 'cimg/python:3.7' steps: - run-tox: version: py37 sphinx-version: "50,51,52,53" py38: docker: - image: 'cimg/python:3.8' steps: - run-tox: version: py38 sphinx-version: "50,51,52,53,60,61,62,70,71,latest" py39: docker: - image: 'cimg/python:3.9' steps: - run-tox: version: py39 sphinx-version: "50,51,52,53,60,61,62,70,71,72,latest" py310: docker: - image: 'cimg/python:3.10' steps: - run-tox: version: py310 sphinx-version: "50,51,52,53,60,61,62,70,71,72,latest" py311: docker: - image: 'cimg/python:3.11' steps: - run-tox: version: py311 sphinx-version: "53,60,61,62,70,71,72,latest,dev" workflows: version: 2 tests: jobs: - build - py311: requires: - build - py310: requires: - build - py39: requires: - build - py38: requires: - build - py37: requires: - build - py36: requires: - build