summaryrefslogtreecommitdiffstats
path: root/.circleci/config.yml
diff options
context:
space:
mode:
Diffstat (limited to '.circleci/config.yml')
-rw-r--r--.circleci/config.yml112
1 files changed, 112 insertions, 0 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
new file mode 100644
index 0000000..d7aa9d7
--- /dev/null
+++ b/.circleci/config.yml
@@ -0,0 +1,112 @@
+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 "<<parameters.version>>-sphinx{<<parameters.sphinx-version>>}"
+ 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