2018-08-01 22:04:16 +02:00
|
|
|
|
version: 2
|
|
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
|
backend:
|
|
|
|
|
docker:
|
2021-09-18 18:11:43 +02:00
|
|
|
|
- image: cimg/python:3.8.11
|
2021-12-02 10:13:48 +01:00
|
|
|
|
environment:
|
|
|
|
|
PIPENV_VENV_IN_PROJECT: true
|
2018-08-01 22:04:16 +02:00
|
|
|
|
steps:
|
|
|
|
|
- checkout
|
|
|
|
|
- restore_cache:
|
2021-12-02 10:13:48 +01:00
|
|
|
|
key: pipenv-v1-{{ checksum "setup.py" }}
|
|
|
|
|
# Only install if .venv wasn’t cached.
|
|
|
|
|
- run: |
|
|
|
|
|
if [[ ! -e ".venv" ]]; then
|
|
|
|
|
pipenv install -e .[testing]
|
|
|
|
|
fi
|
2018-08-01 22:04:16 +02:00
|
|
|
|
- save_cache:
|
2021-12-02 10:13:48 +01:00
|
|
|
|
key: pipenv-v1-{{ checksum "setup.py" }}
|
2018-08-01 22:04:16 +02:00
|
|
|
|
paths:
|
2021-12-02 10:13:48 +01:00
|
|
|
|
- .venv
|
2020-10-02 17:56:26 +02:00
|
|
|
|
- run: pipenv run flake8
|
2020-10-19 21:10:28 +02:00
|
|
|
|
- run: pipenv run isort --check-only --diff .
|
2019-05-09 11:10:14 +02:00
|
|
|
|
# Filter out known false positives, while preserving normal output and error codes.
|
|
|
|
|
# See https://github.com/motet-a/jinjalint/issues/18.
|
2019-05-09 15:46:12 +02:00
|
|
|
|
# And https://circleci.com/docs/2.0/configuration-reference/#default-shell-options.
|
|
|
|
|
- run:
|
|
|
|
|
shell: /bin/bash -e
|
|
|
|
|
command: pipenv run jinjalint --parse-only wagtail | grep -v 'welcome_page.html:6:70' | tee /dev/tty | wc -l | grep -q '0'
|
2020-10-21 13:38:52 +02:00
|
|
|
|
- run: pipenv run doc8 docs
|
2018-08-21 18:05:17 +02:00
|
|
|
|
- run: DATABASE_NAME=wagtail.db pipenv run python -u runtests.py
|
2018-08-01 22:04:16 +02:00
|
|
|
|
|
|
|
|
|
frontend:
|
|
|
|
|
docker:
|
2021-08-30 12:41:17 +02:00
|
|
|
|
- image: circleci/node:14
|
2018-08-01 22:04:16 +02:00
|
|
|
|
steps:
|
|
|
|
|
- checkout
|
|
|
|
|
- restore_cache:
|
2021-12-02 10:15:34 +01:00
|
|
|
|
key: frontend-v1-{{ checksum "package-lock.json" }}
|
|
|
|
|
# Only install if node_modules wasn’t cached.
|
|
|
|
|
- run: |
|
|
|
|
|
if [[ ! -e "node_modules" ]]; then
|
|
|
|
|
npm install --no-save --no-optional --no-audit --no-fund --progress=false
|
|
|
|
|
fi
|
2018-08-01 22:04:16 +02:00
|
|
|
|
- save_cache:
|
|
|
|
|
paths:
|
2021-12-02 10:15:34 +01:00
|
|
|
|
- node_modules
|
|
|
|
|
key: frontend-v1-{{ checksum "package-lock.json" }}
|
|
|
|
|
- run: npm run dist
|
2018-08-01 22:04:16 +02:00
|
|
|
|
- run: npm run lint:js
|
|
|
|
|
- run: npm run lint:css
|
|
|
|
|
- run: npm run test:unit:coverage -- --runInBand
|
|
|
|
|
- run: bash <(curl -s https://codecov.io/bash) -F frontend
|
|
|
|
|
|
2019-06-21 12:13:34 +02:00
|
|
|
|
nightly-build:
|
|
|
|
|
docker:
|
2021-09-18 18:11:43 +02:00
|
|
|
|
- image: cimg/python:3.8.11
|
2019-06-21 12:13:34 +02:00
|
|
|
|
steps:
|
|
|
|
|
- checkout
|
2021-08-30 12:41:17 +02:00
|
|
|
|
- run: cd ~ && wget https://nodejs.org/dist/v14.17.5/node-v14.17.5-linux-x64.tar.gz
|
|
|
|
|
- run: cd /usr/local/ && sudo tar --strip-components 1 -xzf ~/node-v14.17.5-linux-x64.tar.gz
|
2019-06-21 12:31:04 +02:00
|
|
|
|
- run: pip install --user wheel boto3
|
2019-06-21 12:13:34 +02:00
|
|
|
|
- run: npm install
|
|
|
|
|
- run: npm run dist
|
|
|
|
|
- run: PYTHONPATH=. python scripts/nightly/get_version.py > __init__.py
|
|
|
|
|
- run: mv __init__.py wagtail/__init__.py
|
|
|
|
|
- run: python setup.py bdist_wheel
|
|
|
|
|
- run: python scripts/nightly/upload.py
|
|
|
|
|
|
2018-08-01 22:04:16 +02:00
|
|
|
|
workflows:
|
|
|
|
|
version: 2
|
|
|
|
|
test:
|
2019-06-21 12:13:34 +02:00
|
|
|
|
jobs:
|
|
|
|
|
- backend
|
|
|
|
|
- frontend
|
|
|
|
|
|
|
|
|
|
nightly:
|
|
|
|
|
jobs:
|
|
|
|
|
- nightly-build
|
|
|
|
|
triggers:
|
|
|
|
|
- schedule:
|
|
|
|
|
cron: "0 0 * * *"
|
|
|
|
|
filters:
|
|
|
|
|
branches:
|
|
|
|
|
only:
|
2021-03-03 19:33:19 +01:00
|
|
|
|
- main
|